python常用模块详解下载_举例讲解Python常用模块

datetime

日期时间类,主要熟悉API,时区的概念与语言无关。

from datetime import datetime as dt

dt.utcnow() # 系统UTC时间

dt.now() # 系统当前时间

dt(2018, 3, 27, 14, 30) # 获得2018-3-27 14:30对应的datetime对象

dt.now().timestamp() # 秒数1522133962.527885

dt.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 namedtuple

Point = namedtuple('Point', ['x', 'y', 'z'])

p = Point(1, 1, 1)

p.x # 1

p.z # 1

p.x = 2 # Error

deque

双向队列。

from collections import deque

q = deque(['a', 'b', 'c'])

q.append('x')

q.pop() # x

q.append('u')

q.popleft() # a

defaultdict

相对于dict,访问不存在的属性时,会返回lambda表达的返回值。

from collections import defaultdict

dd = defaultdict(lambda : None)

dd['x'] = 1

dd['x'] # 1

print(dd['y']) # None

OrderedDict

有序字典,可以保持字典按属性插入的先后顺序。

from collections import OrderedDict

od = OrderedDict()

od['x'] = 1

od['y'] = 2

od['z'] = 3

for item in od:

print(item) # x y z

Counter

计数器,可理解为属性默认值为0的dict。

from collections import Counter

c = Counter()

c['x'] # 0

c['x'] = 'x'

c['x'] # x

base64

base64编码,把bytes用ascii编码的一种常见方法。

import base64

base64.b64encode(b'hello') # b'aGVsbG8='

base64.b64decode(b'aGVsbG8=') # b'hello'

hashlib

常见的摘要算法,如MD5,SHA1等。

import hashlib as hash

md5 = hash.md5()

md5.update('233'.encode('utf-8'))

print(md5.hexdigest()) # e165421110ba03099a1c0393373c5b43

hmac

hmac,类似md5 + salt。

import hmac

password = b'888888'

salt = b'abc'

h = hmac.new(salt, password, digestmod='MD5')

h.hexdigest() # 519151ad14e431254ff684cf4dba2d39

itertools

import itertools

n = 0

for item in itertools.count(1):

print(item) # 1, 2 ... 10

n += 1

if n > 10:

break

n = 0

for item in itertools.cycle('ABC'):

print(item) # A, B, C, A ...

n += 1

if n > 10:

break

n = 0

for 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

@contextmanager

def withable(name):

yield name

print('end')

with withable('x') as res:

print(res) # x, end

urllib

urllib模块中的request可用于实现http-client相关功能。

from urllib import request

with 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))

第三方模块

Pillow:图片处理

requests:比urllib中的request更强大

chardet:对字符串进行编码识别

psutil: 更便捷获取系统相关信息

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值