举例讲解Python常用模块
Python  /  管理员 发布于 7年前   204
datetime
日期时间类,主要熟悉API,时区的概念与语言无关。
from datetime import datetime as dtdt.utcnow() # 系统UTC时间dt.now() # 系统当前时间dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象dt.now().timestamp() # 秒数1522133962.527885dt.fromtimestamp(1522133962.527885) # 从秒到datetime对象dt.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') # string转datetime对象dt.now().strftime('%a, %b %d %H:%M') # datetime转string
collections
namedtuple
可用于表示简单只读对象。
from collections import namedtuplePoint = namedtuple('Point', ['x', 'y', 'z'])p = Point(1, 1, 1)p.x # 1p.z # 1p.x = 2 # Error
deque
双向队列。
from collections import dequeq = deque(['a', 'b', 'c'])q.append('x')q.pop() # xq.append('u')q.popleft() # a
defaultdict
相对于dict,访问不存在的属性时,会返回lambda表达的返回值。
from collections import defaultdictdd = defaultdict(lambda : None)dd['x'] = 1dd['x'] # 1print(dd['y']) # None
OrderedDict
有序字典,可以保持字典按属性插入的先后顺序。
from collections import OrderedDictod = OrderedDict()od['x'] = 1od['y'] = 2od['z'] = 3for item in od: print(item) # x y z
Counter
计数器,可理解为属性默认值为0的dict。
from collections import Counterc = Counter()c['x'] # 0c['x'] = 'x'c['x'] # x
base64
base64编码,把bytes用ascii编码的一种常见方法。
import base64base64.b64encode(b'hello') # b'aGVsbG8='base64.b64decode(b'aGVsbG8=') # b'hello'
hashlib
常见的摘要算法,如MD5,SHA1等。
import hashlib as hashmd5 = hash.md5()md5.update('233'.encode('utf-8'))print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43
hmac
hmac,类似md5 + salt。
import hmacpassword = b'888888'salt = b'abc'h = hmac.new(salt, password, digestmod='MD5')h.hexdigest() # 519151ad14e431254ff684cf4dba2d39
itertools
import itertoolsn = 0for item in itertools.count(1): print(item) # 1, 2 ... 10 n += 1 if n > 10: breakn = 0for item in itertools.cycle('ABC'): print(item) # A, B, C, A ... n += 1 if n > 10: breakn = 0for item in itertools.repeat('A'): print(item) # A, A, A ... n += 1 if n > 10: break# 组合多个可迭代对象for item in itertools.chain('ABC', 'XYZ'): print(item) # A, B, C, X, Y, Z
contextlib
with语句所需要的上下文管理器,可借助contextlib模块中的contextmanager使用装饰器模式实现。
from contextlib import contextmanager@contextmanagerdef withable(name): yield name print('end')with withable('x') as res: print(res) # x, end
urllib
urllib模块中的request可用于实现http-client相关功能。
from urllib import requestwith request.urlopen('https://amsimple.com') as res: data = res.read() print('Status:', res.status, res.reason) for k, v in res.getheaders(): print('%s: %s' % (k, v))
第三方模块
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家的支持。如果你想了解更多相关内容请查看下面相关链接
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号