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存档文件