time模块
时间戳time.time()#打印出的是秒数,从1970年开始算
time.localtime()#显示的是结构化时间,当地时间
time.gmtime()#显示的也是结构化时间,不过是世界标准时间
将结构化时间转换成时间戳,time.mktime(time.localtime())
将结构化时间转换成字符串时间,time.strftime("%Y-%m-%d %X",time.localtime())
将字符串时间转换为结构化时间,time.strptime("2018:04:03:15:00:00","%Y:%m:%d:%X")
直观的显示时间:time.asctime();time.ctime()
还有datetime模块中的datetime中的now方法也能够显示现在的时间
>>> import time
>>> time.time()
1522738511.5656116
>>> t = time.localtime()#显示结构化时间,可以取出
>>> t
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=3, tm_hour=14, tm_min=55, tm_sec=58, tm_wday=1, tm_yday=93, tm_isdst=0)
>>> t.tm_year
2018
>>> t.tm_yday
93
>>> t1 = time.gmtime()
>>> t1
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=3, tm_hour=7, tm_min=1, tm_sec=3, tm_wday=1, tm_yday=93, tm_isdst=0)
>>> #将结构化时间转换成时间戳
>>> t2 = time.mktime(time.localtime())
>>> t2
1522740660.0
>>> t3 = time.strftime("%Y-%m-%d %X",time.localtime())
>>> t3
'2018-04-03 15:35:24'
>>> t4 = time.strptime("2018:04:03:15:00:00","%Y:%m:%d:%X")
>>> t4
time.struct_time(tm_year=2018, tm_mon=4, tm_mday=3, tm_hour=15, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=93, tm_isdst=-1)
>>> t5 = time.asctime()
>>> t5
'Tue Apr 3 15:43:20 2018'
>>> t6 = time.ctime()
>>> t6
'Tue Apr 3 15:43:35 2018'
>>> import datetime
>>> t7 = datetime.datetime.now()
>>> t7
datetime.datetime(2018, 4, 3, 15, 45, 39, 99611)
>>>
random模块
os模块
sys模块
json模块
re模块
ret = re.findall('xiaom','xaiosmmkxiaomdshaid') print(ret) #元字符:^ $ * + ? {} [] \ ( ) \
正则表达式,参见菜鸟教程
re模块下的方法:
re.findall()方法返回的是一个列表,切记
re.search()方法返回的是一个对象,需要用group()方法来取出其中的值
re.match()方法和search方法类似,只是从第一个字符开始匹配,返回的也是一个对象,需要用group()方法取出
re.split()方法,分割字符串,可以用字符集[]来多次分割,返回的是一个列表
re.sub()替换方法,可以用四个参数,第一个参数为匹配的规则(需要替换的内容),第二个参数为替换成的内容,第三个参数为需要替换的字符串,第四个参数为可选参数,默认为全部替换
re.compile() 设立一个匹配的规则,可以调用其他的匹配方法,完成多次匹配
re.finditer(),与findall的功能一样,不同的是finditer返回的是迭代器对象,next取出后再用group取出具体值
用?:来取消查找的优先级
import re
print(re.findall('a','ahsk sdahoi'))#['a', 'a']会返回所有满足条件的结果,放在列表中
print(re.search('hello','dsahello sdhashelloca').group())#hello 只返回第一个找到的值并且以对象的方式来存储,需要调用group方法来取出其中的数值,可以用?P<>来给要查找的内容命名
print(re.match('a','abc'))#<_sre.SRE_Match object; span=(0, 1), match='a'> 和search类似,不同的是字符串只是在开始的位置进行匹配,需要group()方法取出
print(re.split('[ab]','abcd'))#['', '', 'cd'] 先按'a'分割得到''和bcd,再将''和''bcd'按b进行分割,返回的是一个列表
print(re.sub('\d','hello','dsadfa1afas3fd3',1))#字符串替换,sub里面有四个参数,匹配规则,替换的内容,需要处理的字符串,替换的个数,没有写数字时默认全部都替换
com = re.compile('\d+')#规则,可以多次使用,规则已经确定了,拿需要匹配的字符串来匹配这个规则
com.findall('dasdasd81d9e9')
ret = re.finditer('\d','dasd1w378das87')#与findall一样,不过返回的是迭代器对象(next方法取值),用group()方法来取出
print(next(ret).group())
ret1 = re.findall('www\.(baidu|163)\.com','www.baidu.com')
print(ret1)#['baidu']
ret2 = re.findall('www\.(?:baidu|163)\.com','www.baidu.com')
print(ret2)#['www.baidu.com']
和json模块的功能类似,用来做数据交换,xml通过<>节点来区别数据结构
logging模块