举例讲解Python常用模块


Posted in Python onMarch 08, 2019

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: 更便捷获取系统相关信息

总结

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

Python 相关文章推荐
python采用getopt解析命令行输入参数实例
Sep 30 Python
Python处理XML格式数据的方法详解
Mar 21 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
Python实现带参数的用户验证功能装饰器示例
Dec 14 Python
Python中时间datetime的处理与转换用法总结
Feb 18 Python
PyTorch预训练的实现
Sep 18 Python
python logging添加filter教程
Dec 24 Python
python 函数中的参数类型
Feb 11 Python
python实现图片,视频人脸识别(dlib版)
Nov 18 Python
基于Python编写简易版的天天跑酷游戏的示例代码
Mar 23 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 Python
python re库的正则表达式入门学习教程
Mar 08 #Python
opencv与numpy的图像基本操作
Mar 08 #Python
Python脚本修改阿里云的访问控制列表的方法
Mar 08 #Python
python实现整数的二进制循环移位
Mar 08 #Python
Python3实现的反转单链表算法示例
Mar 08 #Python
Python3实现的判断回文链表算法示例
Mar 08 #Python
python字符串循环左移
Mar 08 #Python
You might like
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP简单实现正则匹配省市区的方法
2018/04/13 PHP
jQuery AJAX回调函数this指向问题
2010/02/08 Javascript
jsp+javascript打造级连菜单的实例代码
2013/06/14 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
Bootstrap轮播插件简单使用方法介绍
2016/06/21 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
vue-cli 如何打包上线的方法示例
2018/05/08 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
node.js使用express框架进行文件上传详解
2019/03/03 Javascript
Vue解决移动端弹窗滚动穿透问题
2020/12/15 Vue.js
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python访问系统环境变量的方法
2015/04/29 Python
Python实现二分查找算法实例
2015/05/26 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
python多进程实现进程间通信实例
2017/11/24 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python模块future用法原理详解
2020/01/20 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
python 操作excel表格的方法
2020/12/05 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
大学生自我鉴定评语
2014/01/27 职场文书
收银员岗位职责
2014/02/07 职场文书
学校班子个人对照检查材料思想汇报
2014/09/27 职场文书
2014年库房工作总结
2014/11/26 职场文书
2014年新农村建设工作总结
2014/12/01 职场文书