Python 标准库¶
Python 语言参考手册 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
在这个标准库以外还存在成千上万并且不断增加的其他组件 (从单独的程序、模块、软件包直到完整的应用开发框架),访问 Python 包索引 即可获取这些第三方包。
- 概述
- 内置函数
- 内置常量
- 内置类型
- 内置异常
- 文本处理服务
- 二进制数据服务
- 数据类型
datetime
--- 基本日期和时间类型zoneinfo
--- IANA 时区支持calendar
--- 日历相关函数collections
--- 容器数据类型collections.abc
--- 容器的抽象基类heapq
--- 堆队列算法bisect
--- 数组二分查找算法array
--- 高效的数字数组weakref
--- 弱引用types
--- 动态类型创建和内置类型名称copy
--- 浅层 (shallow) 和深层 (deep) 复制操作pprint
--- 数据美化输出reprlib
--- 另一种repr()
实现enum
--- 对枚举的支持graphlib
--- 操作类似图的结构的功能
- 数字和数学模块
- 函数式编程模块
- 文件和目录访问
- 数据持久化
- 数据压缩和存档
- 文件格式
- 加密服务
- 通用操作系统服务
os
--- 多种操作系统接口io
--- 处理流的核心工具time
--- 时间的访问和转换argparse
--- 命令行选项、参数和子命令解析器getopt
--- C 风格的命令行选项解析器logging
--- Python 的日志记录工具logging.config
--- 日志记录配置logging.handlers
--- 日志处理程序getpass
--- 便携式密码输入工具curses
--- 终端字符单元显示的处理curses.textpad
--- 用于 curses 程序的文本输入控件curses.ascii
--- 用于 ASCII 字符的工具curses.panel
--- curses 的面板栈扩展platform
--- 获取底层平台的标识数据errno
--- 标准 errno 系统符号ctypes
--- Python 的外部函数库
- 并发执行
- 网络和进程间通信
- 互联网数据处理
- 结构化标记处理工具
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浏览器控制器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 协议客户端smtplib
--- SMTP 协议客户端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 操作库
- 多媒体服务
- 国际化
- 程序框架
- Tk图形用户界面(GUI)
- 开发工具
typing
—— 对类型提示的支持pydoc
--- 文档生成器和在线帮助系统- Python 开发模式
- Python 开发模式的效果
- ResourceWarning 示例
- 文件描述符错误示例
doctest
--- 测试交互式的 Python 示例unittest
--- 单元测试框架unittest.mock
--- mock对象库unittest.mock
--- 上手指南- 2to3 - 自动将 Python 2 代码转为 Python 3 代码
test
--- Python 回归测试包test.support
--- 针对 Python 测试套件的工具test.support.socket_helper
--- 用于套接字测试的工具test.support.script_helper
--- 用于 Python 执行测试工具test.support.bytecode_helper
--- 用于测试正确字节码生成的支持工具
- 调试和分析
- 软件打包和分发
- Python 运行时服务
- 自定义 Python 解释器
- 导入模块
- Python 语言服务
parser
--- 访问 Python 解析树ast
--- 抽象语法树symtable
——访问编译器的符号表symbol
--- 与 Python 解析树一起使用的常量token
--- 与Python解析树一起使用的常量keyword
--- 检验Python关键字tokenize
--- 对 Python 代码使用的标记解析器tabnanny
--- 模糊缩进检测pyclbr
--- Python 模块浏览器支持py_compile
--- 编译 Python 源文件compileall
--- 字节编译 Python 库dis
--- Python 字节码反汇编器pickletools
--- pickle 开发者工具集
- 杂项服务
- Windows系统相关模块
- Unix 专有服务
- 被取代的模块
aifc
--- 读写 AIFF 和 AIFC 文件asynchat
--- 异步套接字指令/响应处理程序asyncore
--- 异步套接字处理器audioop
--- 处理原始音频数据cgi
--- 通用网关接口支持cgitb
--- 用于 CGI 脚本的回溯管理器chunk
--- 读取 IFF 分块数据crypt
—— 检查 Unix 口令的函数imghdr
--- 推测图像类型imp
--- 访问 import 内部对象mailcap
--- Mailcap 文件处理msilib
--- 读写 Microsoft Installer 文件nis
--- Sun 的 NIS (黄页) 接口nntplib
--- NNTP 协议客户端optparse
--- 命令行选项的解析器ossaudiodev
--- 访问兼容OSS的音频设备pipes
--- 终端管道接口smtpd
--- SMTP 服务器sndhdr
--- 推测声音文件的类型spwd
—— shadow 密码库sunau
--- 读写 Sun AU 文件telnetlib
-- Telnet 客户端uu
--- 对 uuencode 文件进行编码与解码xdrlib
--- 编码与解码 XDR 数据
- 安全考量