常用内建模块
1、datetime
from datetime import datetime
now = datetime.now()
dt = datetime(2015, 4, 19, 12, 20)
dt.timestamp()
datetime.fromtimestamp(t)
cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
nowstr = now.strifime('%a, %b %d %H:%M'))
now + timedelta(hours=10)
2、collections
2.1、namedtuple
- 用来创建一个tuple对象,并且定义了tuple元素的个数,可以用属性而不是索引来引用tuple的某个元素。
2.2、deque
- deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈。
2.3、defaultdict
- defaultdict(lambda: ‘N/A’):如果key不存在,则返回这个
2.4、OrderedDict
2.5、ChainMap
- ChainMap可以把一组dict穿起来组成一个逻辑上的dict
2.6、Counter
3、base64
4、struct
- 主要用来解决bytes和其他二进制数据类型的转换。pack函数把任意数据类型变成bytes:struct.pack(’>I’, 10240099)。其中’>'表示字节顺序是big-endian,也就是网络序,I表示4字节无符号整数。H表示2字节无符号整数。
- struct.unpack(’’)
5、hashlib
- 提供了md5等加密算法。hashlib.md5(),hashlib.sha1()。用hexdigest()来执行。
6、hmac
- 获取带key的哈希。hmac.new(key, message, digestmod=‘MD5’)。
7、itertools
- 提供了用于操作迭代对象的函数。itertools.count(number):从number开始的无限迭代器。itertools.cycle(str):str无限循环。itertools.repeat(str, number):str循环number次。
- chain():将一组迭代对象串联起来,形成一个更大的迭代器。
7.1、groupby()把迭代器中相邻的重复元素挑出来放到一起
print([result for result in groupby(sorted(lst), key=gb)])
8、contextlib
- 并不只有open()函数返回的fp对象才能使用with语句,实际上,任何对象,只要正确实现了上下文管理,就可以用于with语句。
9、urllib
9.1、get
- urllib的request模块可以非常方便的抓取URL内容,也就是发送一个GET请求到指定的页面,然后返回HTTP的响应。
request.urlopen(地址)