Python标准库
Python语言参考 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
在这个标准库以外还存在成千上万并且不断增加的其他组件 (从单独的程序、模块、软件包直到完整的应用开发框架),访问 Python 包索引 即可获取这些第三方包。
- 概述
- 可用性注释
- 内置函数
- 内置常量
- 由
site
模块添加的常量
- 由
- 内置类型
- 逻辑值检测
- 布尔运算 ---
and
,or
,not
- 比较运算
- 数字类型 ---
int
,float
,complex
- 迭代器类型
- 序列类型 ---
list
,tuple
,range
- 文本序列类型 ---
str
- 二进制序列类型 ---
bytes
,bytearray
,memoryview
- 集合类型 ---
set
,frozenset
- 映射类型 ---
dict
- 上下文管理器类型
- 其他内置类型
- 特殊属性
- 内置异常
- 基类
- 具体异常
- 警告
- 异常层次结构
- 文本处理服务
string
--- 常见的字符串操作re
--- 正则表达式操作difflib
--- 计算差异的辅助工具textwrap
--- 文本自动换行与填充unicodedata
--- Unicode 数据库stringprep
--- 因特网字符串预备readline
--- GNU readline 接口rlcompleter
--- GNU readline 的补全函数
- 二进制数据服务
struct
--- 将字节串解读为打包的二进制数据codecs
--- 编解码器注册和相关基类
- 数据类型
datetime
--- 基本的日期和时间类型calendar
--- 日历相关函数collections
--- 容器数据类型collections.abc
--- 容器的抽象基类heapq
--- 堆队列算法bisect
--- 数组二分查找算法array
--- 高效的数值数组weakref
--- 弱引用types
--- 动态类型创建和内置类型名称copy
--- 浅层 (shallow) 和深层 (deep) 复制操作pprint
--- 数据美化输出reprlib
--- 另一种repr()
实现enum
--- 枚举类型支持
- 数字和数学模块
numbers
--- 数字的抽象基类math
--- 数学函数cmath
——关于复数的数学函数decimal
--- 十进制定点和浮点运算fractions
--- 分数random
--- 生成伪随机数statistics
--- 数学统计函数
- 函数式编程模块
itertools
--- 为高效循环而创建迭代器的函数functools
--- 高阶函数和可调用对象上的操作operator
--- 标准运算符替代函数
- 文件和目录访问
pathlib
--- 面向对象的文件系统路径os.path
--- 常见路径操作fileinput
--- 迭代来自多个输入流的行stat
--- 解析stat()
结果filecmp
--- 文件及目录的比较tempfile
--- 生成临时文件和目录glob
--- Unix 风格路径名模式扩展fnmatch
--- Unix 文件名模式匹配linecache
--- 随机读写文本行shutil
--- 高阶文件操作macpath
--- Mac OS 9 路径操作函数
- 数据持久化
pickle
—— Python 对象序列化copyreg
--- 注意pickle
支持函数shelve
--- Python 对象持久化marshal
--- 内部 Python 对象序列化dbm
--- Unix "数据库" 接口sqlite3
--- SQLite 数据库 DB-API 2.0 接口模块
- 数据压缩和存档
zlib
--- 与 gzip 兼容的压缩gzip
--- 对 gzip 格式的支持bz2
--- 对 bzip2 压缩算法的支持lzma
--- 用 LZMA 算法压缩zipfile
--- 使用ZIP存档tarfile
--- 读写tar归档文件
- 文件格式
csv
--- CSV 文件读写configparser
--- 配置文件解析器netrc
--- netrc 文件处理xdrlib
--- 编码与解码 XDR 数据plistlib
--- 生成与解析 Mac OS X.plist
文件
- 加密服务
hashlib
--- 安全哈希与消息摘要hmac
--- 基于密钥的消息验证secrets
--- 生成安全随机数字用于管理密码
- 通用操作系统服务
os
--- 操作系统接口模块io
--- 处理流的核心工具time
--- 时间的访问和转换argparse
--- 命令行选项、参数和子命令解析器getopt
--- C 风格的命令行选项解析器- 模块
logging
--- Python 的日志记录工具 logging.config
--- 日志记录配置logging.handlers
--- 日志处理getpass
--- 便携式密码输入工具curses
--- 终端字符单元显示的处理curses.textpad
--- 用于 curses 程序的文本输入控件curses.ascii
--- 用于 ASCII 字符的工具curses.panel
--- curses 的 panel 栈扩展platform
--- 获取底层平台的标识数据errno
--- 标准 errno 系统符号ctypes
--- Python 的外部函数库
- 并发执行
threading
--- 基于线程的并行multiprocessing
--- 基于进程的并行concurrent
包concurrent.futures
--- 启动并行任务subprocess
--- 子进程管理sched
--- 事件调度器queue
--- 一个同步的队列类_thread
--- 底层多线程 API_dummy_thread
---_thread
的替代模块dummy_threading
--- 可直接替代threading
模块。
contextvars
上下文变量- 上下文变量
- 手动上下文管理
- asyncio 支持
- 网络和进程间通信
asyncio
--- 异步 I/Osocket
--- 底层网络接口ssl
--- 套接字对象的TLS/SSL封装select
--- Waiting for I/O 完成selectors
--- 高级 I/O 复用库asyncore
--- 异步socket处理器asynchat
--- 异步 socket 指令/响应 处理器signal
--- 设置异步事件处理程序mmap
--- 内存映射文件支持
- 互联网数据处理
email
--- 电子邮件与 MIME 处理包json
--- JSON 编码和解码器mailcap
--- Mailcap 文件处理mailbox
--- 操作多种格式的邮箱mimetypes
--- 映射文件夹到 MIME 类型base64
--- Base16, Base32, Base64, Base85 数据编码binhex
--- 对binhex4文件进行编码和解码binascii
--- 二进制和 ASCII 码互转quopri
--- 编码与解码经过 MIME 转码的可打印数据uu
--- 对 uuencode 文件进行编码与解码
- 结构化标记处理工具
html
--- 超文本标记语言支持html.parser
--- 简单的 HTML 和 XHTML 解析器html.entities
--- HTML 一般实体的定义- XML处理模块
xml.etree.ElementTree
--- ElementTree XML APIxml.dom
--- 文档对象模型 APIxml.dom.minidom
--- 最小化的 DOM 实现xml.dom.pulldom
--- 支持构建部分 DOM 树xml.sax
--- 支持 SAX2 解析器xml.sax.handler
--- SAX 处理程序的基类xml.sax.saxutils
--- SAX 工具集xml.sax.xmlreader
--- 用于 XML 解析器的接口xml.parsers.expat
--- 使用 Expat 的快速 XML 解析
- 互联网协议和支持
webbrowser
--- 方便的Web浏览器控制器cgi
--- 通用网关接口支持cgitb
--- 用于 CGI 脚本的回溯管理器wsgiref
--- WSGI 工具和引用的实现urllib
--- URL 处理模块urllib.request
--- 用于打开 URL 的可扩展库urllib.response
--- urllib 使用的 Response 类urllib.parse
用于解析 URLurllib.error
--- urllib.request 引发的异常类urllib.robotparser
--- robots.txt 语法分析程序http
--- HTTP 模块http.client
--- HTTP 协议客户端ftplib
--- FTP 协议客户端poplib
--- POP3 协议客户端imaplib
--- IMAP4 协议客户端nntplib
--- NNTP 协议客户端smtplib
---SMTP协议客户端smtpd
--- SMTP 服务器telnetlib
-- Telnet 客户端uuid
--- RFC 4122 定义的UUID对象socketserver
--- 用于网络服务器的框架http.server
--- HTTP 服务器http.cookies
--- HTTP状态管理http.cookiejar
—— HTTP 客户端的 Cookie 处理xmlrpc
--- XMLRPC 服务端与客户端模块xmlrpc.client
--- XML-RPC 客户端访问xmlrpc.server
--- 基本 XML-RPC 服务器ipaddress
--- IPv4/IPv6 操作库
- 多媒体服务
audioop
--- 处理原始音频数据aifc
--- 读写 AIFF 和 AIFC 文件sunau
--- 读写 Sun AU 文件wave
--- 读写WAV格式文件chunk
--- 读取 IFF 分块数据colorsys
--- 颜色系统间的转换imghdr
--- 推测图像类型sndhdr
--- 推测声音文件的类型ossaudiodev
--- 访问兼容OSS的音频设备
- 国际化
gettext
--- 多语种国际化服务locale
--- 国际化服务
- 程序框架
turtle
--- 海龟绘图cmd
--- 支持面向行的命令解释器shlex
—— 简单的词义分析
- Tk图形用户界面(GUI)
tkinter
--- Tcl/Tk的Python接口tkinter.ttk
--- Tk主题小部件tkinter.tix
--- TK扩展包tkinter.scrolledtext
--- 滚动文字控件- IDLE
- 其他图形用户界面(GUI)包
- 开发工具
typing
--- 类型标注支持pydoc
--- 文档生成器和在线帮助系统doctest
--- 测试交互性的Python示例unittest
--- 单元测试框架unittest.mock
--- 模拟对象库unittest.mock
上手指南- 2to3 - 自动将 Python 2 代码转为 Python 3 代码
test
--- Python回归测试包test.support
--- Utilities for the Python test suitetest.support.script_helper
--- Utilities for the Python execution tests
- 调试和分析
bdb
--- Debugger frameworkfaulthandler
—— 转储 Python 的跟踪信息pdb
--- Python的调试器- Python 分析器
timeit
--- 测量小代码片段的执行时间trace
--- 跟踪Python语句执行tracemalloc
--- 跟踪内存分配
- 软件打包和分发
distutils
--- 构建和安装 Python 模块ensurepip
--- Bootstrapping thepip
installervenv
--- 创建虚拟环境zipapp
—— 管理可执行的 Python zip 打包文件
- Python运行时服务
sys
--- 系统相关的参数和函数sysconfig
--- Provide access to Python's configuration informationbuiltins
--- 内建对象__main__
--- 顶层脚本环境warnings
—— 警告信息的控制dataclasses
--- 数据类contextlib
--- 为with
语句上下文提供的工具abc
--- 抽象基类atexit
--- 退出处理器traceback
--- 打印或检索堆栈回溯__future__
--- Future 语句定义gc
--- 垃圾回收器接口inspect
--- 检查对象site
—— 站点专属的配置钩子
- 自定义 Python 解释器
code
--- 解释器基础类codeop
--- 编译Python代码
- 导入模块
zipimport
--- 从 Zip 存档中导入模块pkgutil
--- 包扩展模块工具modulefinder
--- 查找脚本使用的模块runpy
——查找并执行 Python 模块importlib
---import
的实现
- Python 语言服务
parser
--- 访问 Python 解析树ast
--- 抽象语法树symtable
——访问编译器的符号表symbol
--- 与 Python 解析树一起使用的常量token
--- 与Python解析树一起使用的常量keyword
--- 检验Python关键字tokenize
-- 对 Python 代码使用的标记解析器tabnanny
--- 模糊缩进检测pyclbr
--- Python 模块浏览器支持py_compile
--- 编译 Python 源文件compileall
--- Byte-compile Python librariesdis
--- Python 字节码反汇编器pickletools
--- pickle 开发者工具集
- 杂项服务
formatter
--- 通用格式化输出
- Windows系统相关模块
msilib
--- Read and write Microsoft Installer filesmsvcrt
--- 来自 MS VC++ 运行时的有用例程winreg
--- Windows 注册表访问winsound
—— Windows 系统的声音播放接口
- Unix 专有服务
posix
--- 最常见的 POSIX 系统调用pwd
--- 用户密码数据库spwd
—— shadow 密码库grp
--- 组数据库crypt
—— 检查 Unix 口令的函数termios
--- POSIX 风格的 tty 控制tty
--- 终端控制功能pty
--- 伪终端工具fcntl
—— 系统调用fcntl
和ioctl
pipes
--- 终端管道接口resource
--- 资源使用信息nis
--- Sun 的 NIS (黄页) 接口- Unix syslog 库例程
- 被取代的模块
optparse
--- 解析器的命令行选项imp
—— 由代码内部访问 import 。
- 未创建文档的模块
- 平台特定模块