Python有一套标准库,随着python一起安装在电脑中,是python的一个组成部分。
一、os操作系统库
os模块提供了很多与操作系统相关联的函数。
在导入库时建议使用 "import os" 风格而非 "from os import *"。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。
示例如下:
import os
os.getcwd() # 返回当前的工作目录
'C:\\Python34'
os.chdir('/server/accesslogs') # 修改当前的工作目录
os.system('mkdir today') # 执行系统命令 mkdir
0
二、文本
- string:通用字符串操作
- re:正则表达式操作
- difflib:差异计算工具
- textwrap:文本填充
- unicodedata:Unicode字符数据库
- stringprep:互联网字符串准备工具
- readline:GNU按行读取接口
- rlcompleter:GNU按行读取的实现函数
- struct:将字节解析为打包的二进制数据
- codecs:注册表与基类的编解码器
re模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
import re
re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
re.sub(r'(\b[a-z]+) \1', r'\1', 'cat in the the hat')
'cat in the hat'
三、文件与目录
- os.path:通用路径名控制
- fileinput:从多输入流中遍历行
- stat:解释stat()的结果
- filecmp:文件与目录的比较函数
- tempfile:生成临时文件与目录
- glob:Unix风格路径名格式的扩展
- fnmatch:Unix风格路径名格式的比对
- linecache:文本行的随机存储
- shutil:高级文件操作
- macpath:MacOS 9路径控制函数
四、sys命令行参数
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。例如在命令行中执行 "python demo.py one two three" 后可以得到以下输出结果:
import sys
print(sys.argv)
['demo.py', 'one', 'two', 'three']
五、数学
math模块为浮点运算提供了对底层C函数库的访问:
import math
math.cos(math.pi / 4)
0.70710678118654757
math.log(1024, 2)
10.0
random提供了生成随机数的工具。
import random
random.choice(['apple', 'pear', 'banana'])
'apple'
random.sample(range(100), 10) # sampling without replacement
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]
random.random() # random float
0.17970987693706186
random.randrange(6) # random integer chosen from range(6)
4
六、互联网
- email:邮件与MIME处理包
- json:JSON编码与解码
- mailcap:mailcap文件处理
- mailbox:多种格式控制邮箱
- mimetypes:文件名与MIME类型映射
- base64:RFC3548:Base16、Base32、Base64编码
- binhex:binhex4文件编码与解码
- binascii:二进制码与ASCII码间的转化
- quopri:MIMEquoted - printable数据的编码与解码
- uu:uuencode文件的编码与解码
七、日期和时间
datetime模块为日期和时间处理同时提供了简单和复杂的方法。
支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。
该模块还支持时区处理。
八、数据压缩
zlib,gzip,bz2,zipfile,以及 tarfile模块直接支持通用的数据打包和压缩格式。
- zlib:兼容gzip的压缩
- gzip:对gzip文件的支持
- bz2:对bzip2压缩的支持
- lzma:使用LZMA算法的压缩
- zipfile:操作ZIP存档
- tarfile:读写tar存档文件