#python常用内建模块 #1、datetime from datetime import datetime #日期格式 date = datetime.now() #获取当前日期时间:2017-07-13 11:02:19.800237 print(date) #获取当前时间戳 timestamp = date.timestamp() #获取当前时间戳:1499914939.800237 ,还可以使用time模块的print(time.time()) print(timestamp) #日期转时间戳 timestamp = date.timestamp() #1499914939.800237 print(timestamp) #时间戳转化日期 date2 = datetime.fromtimestamp(timestamp) print(date2) #日期转化为字符串并格式化 date2StrFormat = date.strftime('%Y-%m-%d %H:%M:%S') print(date2StrFormat) #'2017-07-13 10:55:07' #字符串转化为日期并格式化 str2DateFormat = datetime.strptime(date2StrFormat,'%Y-%m-%d %H:%M:%S') print(str2DateFormat) #2、collections模块 #2.1 namedtuple:让tuple变成对象属性调用 from collections import namedtuple Point = namedtuple('Point',['x','y']) p = Point(1,2) print(p.x) #1 print(p.y) #2 #2.2 deque:由于list插入、删除比较慢,deque解决这个问题,并且除了提供append、pop从右边压入、弹出之外,还提供appendleft、popleft,实现队列 from collections import deque q = deque([1,2,3]) q.append(4) print(q) #1234 q.appendleft(5) print(q) #51234 print(q.pop())#4 print(q)#5123 print(q.popleft())#5 print(q)#123 #2.3 defaultdict:使用字典,如果取一个不存在的值会报错,使用defautdict可以预先定义不存在的返回值 from collections import defaultdict d = defaultdict(lambda:'不存在') d['x'] = 111 print(d['x']) #111 print(d['y']) #不存在 #2.4 OrderedDict:有序的字典 from collections import OrderedDict d = OrderedDict() d['x'] = 1 d['y'] = 2 d['z'] = 3 print(d) #OrderedDict([('x', 1), ('y', 2), ('z', 3)]) #3、base64 import base64 copyright = 'Copyright (c) 2012 Doucube Inc. All rights reserved.' # 转成bytes string bytesString = copyright.encode(encoding="utf-8") print(bytesString) # b'Copyright (c) 2012 Doucube Inc. All rights reserved.' # base64 编码 encodestr = base64.b64encode(bytesString) print(encodestr)# b'Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg==' print(encodestr.decode())# Q29weXJpZ2h0IChjKSAyMDEyIERvdWN1YmUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLg== # 解码 decodestr = base64.b64decode(encodestr) print(decodestr.decode())# Copyright (c) 2012 Doucube Inc. All rights reserved. #url传递的base64编码 base64.urlsafe_b64encode() base64.urlsafe_b64decode() #4、hashlib中的md5与sha1 import hashlib md5 = hashlib.md5() md5.update('zifuchuan') md5.hexdigest() sha1 = hashlib.sha1() sha1.update('字符串') md5.hexdigest() #5、itertools #5.1 chain :可以把一组迭代对象串联起来,形成一个更大的迭代器: import itertools for c in itertools.chain('ABC','XYZ'): print(c) #A B C X Y Z #5.2 groupby:吧相邻重复的元素挑出来 import itertools for key,group in itertools.groupby('AAABBBCCCDDD'): print(key,list(group))