选择工具栏的Code, 点击Reformat Code
或者使用快键键
Mac为:Command + Option+L windows: Alt + ctrl + L
Python2可以使用cmp()函数,但是在Python3中我们可以使用下面的方法来比较两个list是否相等
import operator a=[1,-1,0] b=[1,-1,0] c=[-1,1,0] print(operator.eq(a,b)) # True print(operator.eq(a,c)) # False
注意: 两个列表必须完全相同(包括位置),只有这样才能是True。
参考:Python判断两个list相等
直接使用‘+’运算符
a = [1, 2] b = [1,2] print(a + b) # [1, 2, 1, 2]
l3 = [x for x in l1 if x not in l2]
等价于
l1 = [1, 2, 3, 4, 5, 6] l2 = [3, 4, 6] l3 = [] for num in l1: if num not in l2: l3.append(num) print(l3) # [1, 2, 5]
参考: python 根据一个list的元素删除另一个list中对应的元素、python - 从另一个列表中删除出现在一个列表中的所有元素
sort () 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。
sort()方法语法:默认按字典序排序
list.sort(cmp=None, key=None, reverse=False)
参考:https://www.runoob.com/python/att-list-sort.html
现将字符串用括号括起来,加个逗号,让这个字符串变成一个元祖,然后使用‘+’运算符相加即可。方法可推广到将任何类型的对象添加到某个元祖。
total_records += record + ('test', )
直接用'+'运算符拼接即可
a = (1, 2, 3) b = (4, 5, 6) c = a + b # c = (1, 2, 3, 4, 5, 6)
在一层元祖外面套一层括号后,加一个逗号
a = ((1, 2, 3), (4, 5, 6)) b = (7, 8, 9) c = a + (b, ) # c = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
直接用'+'运算符拼接即可
a = ((1, 2, 3), (4, 5, 6)) b = (7, 8, 9) c = a + b # c = ((1, 2, 3), (4, 5, 6), 7, 8, 9)
先判断该变量的第0项是否是元祖,如果是元祖则该变量是二维元祖,否则是一维元祖,如果是一维元祖,则在一层元祖外面套一层括号后,加一个逗号,与二维元祖相加;如果是二维元祖,直接相加
records = ((1, 2), (3, 4)) if isinstance(aa, tuple): # 如果第一项是元祖则说明aa是二维元祖 records += aa else: records += (aa, )
listdir(path)函数,可以获得path路径下的所有文件列表
import os def getfiles(): filenames=os.listdir(r'E:\test') print(filenames)
参考:python遍历文件夹下的所有文件
open(filepath, mode), 这个函数可以用来读写文件,返回文件的操作句柄,mode就是'w', 'r', 'a', 'w+', 'a+'等模式
fr = open('test.txt','r') for line in fr: print line fr.close() fw = open('test2.txt','w') fw.write("hello world\nhello world!!") # 换行需要自己加入'\n'字符,没有直接写入一行的函数 fw.close()
参考: Python 文件I/O、python每次读取文件一行输出一行
1、设置配置文件
[mysql] host = 1234 port = 3306 user = root password = Zhsy08241128 database = leartd
2、读取配置文件
import configparser import os conf= configparser.ConfigParser() def readConf(): '''读取配置文件''' root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) conf.read(root_path + '/ceshi/conf/app.conf') # 文件路径 print(conf) name = conf.get("mysql", "host") # 获取指定section 的option值 print(name)
3、写入配置文件
def writeConf(): '''写入配置文件''' root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) conf.read(root_path + '/ceshi/conf/app.conf') # 文件路径 conf.set("mysql", "host", "1234") # 修改指定section 的option conf.write(open(root_path + '/ceshi/conf/app.conf', 'w'))
参考:python config文件的读写、如何在python中读取配置文件
两个datetime对象直接做差,得到一个timedelta对象, 通过这个对象的seconds获得秒钟数,从而与目标时间进行比较
start = datetime.datetime(2021, 3, 31, 18, 0, 0) end = datetime.datetime(2021, 3, 31, 21, 0, 0) interval = end - sta rt print(interval.seconds) print(interval.seconds >= 3600*3) # 判断两个时间差是否超过半小时
参考:【Python】datetime间的比较
import datetime start = datetime.datetime(2009,2,10,14,00) end = datetime.datetime(2009,2,10,16,00) delta = end-start print(str(delta)) # prints 2:00:00
如果直接使用str()函数后结果带有毫秒值,如'02:10:00.324', 如果想要去除毫秒值,使用split()函数截取后取第一个元素
print(str(interval).split(".")[0])
参考:python – 将timedelta格式化为字符串
split()函数
语法:str.split(str=”“,num=string.count(str))[n]
参数说明:
str: 表示为分隔符,默认为空格,但是不能为空(”)。若字符串中没有分隔符,则把整个字符串作为列表的一个元素 num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量 [n]: 表示选取第n个分片,也可以是[0,n]表示选取第0片到第n片,函数返回一个list。
参考:Python分割字符串split()
使用set()这个数据结构,可以保证存入的对象不重复,后面如果需要是list对象,使用list()方法强转即可。
item = set() item.add(1) item.add(1) item = list(item) print(item) # [1]
参考: https://www.cnpython.com/qa/35356
time.sleep(t) , t 是 推迟执行的秒数。
import time time.sleep( 5 )
参考: Python time sleep()方法
type()方法
var = dict() print(type(var)) # <class 'dict'>
变量[头下标:尾下标:步长]
步长省略则默认为1
参考:python列表list的截取问题
print(os.path.abspath(__file__)) print(os.path.dirname(os.path.abspath(__file__))) print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
num = input("请输入整数:") print(num.isdigit())
参考: python 判断输入是否为整数的程序
num = 4.0 num2 = 4.01 print(num.is_integer()) # True print(num2.is_integer()) # False
num = 4.0 num2 = 4.01 num3 = 0.0 print(num % 1 == 0) # True print(num2 % 1 == 0) # False print(num3 % 1 == 0) # True
参考: python 如何判断一个数为整数?(判断整数,没有小数)(取余)判断整型 isinstance()
isinstance()
print(isinstance(1,int)) # 判断1是否是int类型 print(isinstance(aa, datetime.datetime)) # 判断aa变量是否是datetime.datatime类型