Python 标准库
Python 语言参考手册描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
在标准库以外,还存在成千上万并且不断增加的其他组件集(从单独的程序和模块到软件包以及完整的应用程序开发框架),这些组件集可以从`Python 包索引 <https://pypi.org>`_ 获取。
-
概述
- 可用性注释
- 内置函数
-
内置常量
- 由site模块添加的常量
-
内置类型
- 逻辑值检测
- 布尔运算 —and,or,not
- 比较运算
- 数字类型 —int,float,complex
- 布尔类型 –bool
- 迭代器类型
- 序列类型 —list,tuple,range
- 文本序列类型 —str
- 二进制序列类型 —bytes,bytearray,memoryview
- 集合类型 —set,frozenset
- 映射类型 —dict
- 上下文管理器类型
- 类型注解的类型 —Generic Alias、Union
- 其他内置类型
- 特殊属性
- 整数字符串转换长度限制
-
内置异常
- 异常上下文
- 从内置异常继承
- 基类
- 具体异常
- 警告
- 异常组
- 异常层次结构
-
文本处理服务
- string— 常见的字符串操作
- re— 正则表达式操作
- difflib— 计算差异的辅助工具
- textwrap— 文本自动换行与填充
- unicodedata— Unicode 数据库
- stringprep— 因特网字符串预处理
- readline— GNU readline 接口
- rlcompleter— 用于 GNU readline 的补全函数
-
二进制数据服务
- struct— Interpret bytes as packed binary data
- codecs— 编解码器注册和相关基类
-
数据类型
- datetime— 基本日期和时间类型
- zoneinfo— IANA 时区支持
- calendar— 通用日历相关函数
- collections— 容器数据类型
- collections.abc— 容器的抽象基类
- heapq— 堆队列算法
- bisect— 数组二分算法
- array— 高效的数字值数组
- weakref— 弱引用
- types— 动态类型创建和内置类型名称
- copy— 浅层及深层拷贝操作
- pprint— 数据美化输出
- reprlib— 替代性repr()实现
- enum— 对枚举的支持
- graphlib— 操作类似图的结构的功能
-
数字和数学模块
- numbers— 数字抽象基类
- math— 数学函数
- cmath— 针对复数的数学函数
- decimal— 十进制定点和浮点算术
- fractions— 有理数
- random— 生成伪随机数
- statistics— 数字统计函数
-
函数式编程模块
- itertools— 为高效循环创建迭代器的函数
- functools—— 高阶函数,以及可调用对象上的操作
- operator— 标准运算符对应函数
-
文件和目录访问
- pathlib— 面向对象的文件系统路径
- os.path— 常用的路径操作
- fileinput— 迭代来自多个输入流的行
- stat— 解释stat()的结果
- filecmp— 文件和目录比较
- tempfile— 生成临时文件和目录
- glob— Unix 风格的路径名模式扩展
- fnmatch— Unix 文件名模式匹配
- linecache— 随机访问文本行
- shutil— High-level file operations
-
数据持久化
- pickle— Python 对象序列化
- copyreg— 注册pickle支持函数
- shelve— Python object persistence
- marshal— Internal Python object serialization
- dbm— Unix \”数据库\” 接口
- sqlite3— SQLite 数据库的 DB-API 2.0 接口
-
数据压缩和存档
- zlib— 与gzip兼容的压缩
- gzip— 对gzip文件的支持
- bz2— 对bzip2压缩算法的支持
- lzma— 使用 LZMA 算法进行压缩
- zipfile— 操作 ZIP 归档文件
- tarfile— 读写 tar 归档文件
-
文件格式
- csv— CSV 文件读写
- configparser— 配置文件解析器
- tomllib— 解析 TOML 文件
- netrc— netrc 文件处理
- plistlib— Generate and parse Apple.plistfiles
-
加密服务
- hashlib— 安全哈希与消息摘要
- hmac— 用于消息验证的密钥哈希
- secrets— 生成管理密码的安全随机数
-
通用操作系统服务
- os— 多种操作系统接口
- io— 处理流的核心工具
- time— 时间的访问和转换
- argparse— 用于命令行选项、参数和子命令的解析器
- getopt— C 风格的命令行选项解析器
- logging— Python 的日志记录工具
- logging.config— Logging configuration
- logging.handlers— Logging handlers
- getpass— 可移植的密码输入
- curses— 字符单元显示的终端处理
- curses.textpad— 用于 curses 程序的文本输入控件
- curses.ascii— 用于 ASCII 字符的工具
- curses.panel— 针对 curses 的面板栈扩展
- platform— 访问底层平台的标识数据
- errno— 标准 errno 系统符号
- ctypes— Python 的外部函数库
-
并发执行
- threading— 基于线程的并行
- multiprocessing— 基于进程的并行
- multiprocessing.shared_memory— 可跨进程直接访问的共享内存
- concurrent包
- concurrent.futures— 启动并行任务
- subprocess— 子进程管理
- sched— 事件调度器
- queue— 同步队列类
- contextvars— 上下文变量
- _thread— 低层级多线程 API
-
网络和进程间通信
- asyncio— 异步 I/O
- socket— Low-level networking interface
- ssl— 套接字对象的 TLS/SSL 包装器
- select— 等待 I/O 完成
- selectors— 高层级 I/O 复用
- signal— Set handlers for asynchronous events
- mmap— Memory-mapped file support
-
互联网数据处理
- email— 电子邮件与 MIME 处理包
- json— JSON encoder and decoder
- mailbox— 操纵多种格式的邮箱
- mimetypes— Map filenames to MIME types
- base64— Base16, Base32, Base64, Base85 数据编码
- binascii— 在二进制数据和 ASCII 之间进行转换
- quopri— 编码与解码 MIME 转码的可打印数据
-
结构化标记处理工具
- html— 超文本标记语言支持
- html.parser— 简单的 HTML 和 XHTML 解析器
- html.entities— HTML 一般实体的定义
- XML处理模块
- xml.etree.ElementTree— ElementTree XML API
- xml.dom— 文档对象模型 API
- xml.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— Fast XML parsing using Expat
-
互联网协议和支持
- webbrowser— 方便的 Web 浏览器控制工具
- wsgiref— WSGI 工具和参考实现
- urllib— URL 处理模块
- urllib.request— Extensible library for opening URLs
- urllib.response— urllib 使用的 Response 类
- urllib.parse— 将 URL 解析为组件
- urllib.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 操作库
-
多媒体服务
- wave— Read and write WAV files
- colorsys— 颜色系统间的转换
-
国际化
- gettext— 多语种国际化服务
- locale— 国际化服务
-
程序框架
- turtle— 海龟绘图
- cmd— 对面向行的命令解释器的支持
- shlex— 简单词法分析
-
Tk图形用户界面(GUI)
- tkinter— Python interface to Tcl/Tk
- tkinter.colorchooser— 颜色选择对话框
- tkinter.font— Tkinter 字体包装器
- Tkinter 对话框
- tkinter.messagebox— Tkinter 消息提示
- tkinter.scrolledtext— 流动文本控件
- tkinter.dnd— Drag and drop support
- tkinter.ttk— Tk themed widgets
- tkinter.tix— TK扩展包
- IDLE
-
开发工具
- typing—— 对类型提示的支持
- pydoc— 文档生成器和在线帮助系统
- Python 开发模式
- doctest— 测试交互式的 Python 示例
- unittest— Unit testing framework
- unittest.mock— 模拟对象库
- unittest.mock— 新手入门
- 2to3 — 自动化的 Python 2 到 3 代码转写
- test— Regression tests package for Python
- test.support— 针对 Python 测试套件的工具
- test.support.socket_helper— 用于套接字测试的工具
- test.support.script_helper— 用于 Python 执行测试工具
- test.support.bytecode_helper— 用于测试正确字节码生成的支持工具
- test.support.threading_helper— 用于线程测试的工具
- test.support.os_helper— 用于操作系统测试的工具
- test.support.import_helper— 用于导入测试的工具
- test.support.warnings_helper— 用于警告测试的工具
-
调试和分析
- 审计事件表
- bdb— 调试器框架
- faulthandler— 转储 Python 回溯信息
- pdb— Python 的调试器
- Python 性能分析器
- timeit— 测量小代码片段的执行时间
- trace— Trace or track Python statement execution
- tracemalloc— 跟踪内存分配
-
软件打包和分发
- ensurepip— 初始设置pip安装器
- venv— 虚拟环境的创建
- zipapp— 管理可执行的 Python zip 归档文件
-
Python 运行时服务
- sys— 系统相关的形参和函数
- sys.monitoring— Execution event monitoring
- sysconfig— Provide access to Python\’s configuration information
- builtins— 内置对象
- __main__— 最高层级代码环境
- warnings— 警告信息控制
- dataclasses— 数据类
- contextlib— 为with语句上下文提供的工具
- abc— 抽象基类
- atexit— 退出处理器
- traceback— 打印或读取栈回溯信息
- __future__— Future 语句定义
- gc— 垃圾回收器接口
- inspect— 检查当前对象
- site— Site-specific configuration hook
-
自定义 Python 解释器
- code— 解释器基类
- codeop— 编译 Python 代码
-
导入模块
- zipimport— Import modules from Zip archives
- pkgutil— 包扩展工具
- modulefinder— 查找脚本使用的模块
- runpy— 查找并执行 Python 模块
- importlib—import的实现
- importlib.resources— Package resource reading, opening and access
- importlib.resources.abc— Abstract base classes for resources
- importlib.metadata— 访问软件包元数据
- sys.path模块搜索路径的初始化
-
Python 语言服务
- ast— 抽象语法树
- symtable— 访问编译器的符号表
- token— Constants used with Python parse trees
- keyword— 检验 Python 关键字
- tokenize— Python 源代码的分词器
- tabnanny— 检测有歧义的缩进
- pyclbr— Python module browser support
- py_compile— 编译 Python 源文件
- compileall— 字节编译 Python 库
- dis— Python 字节码反汇编器
- pickletools— pickle 开发者工具
-
Windows系统相关模块
- msvcrt— 来自 MS VC++ 运行时的有用例程
- winreg— Windows 注册表访问
- winsound— 针对 Windows 的声音播放接口
-
Unix 专有服务
- posix— 最常见的 POSIX 系统调用
- pwd— The password database
- grp— 组数据库
- termios— POSIX 风格的 tty 控制
- tty— Terminal control functions
- pty— 伪终端工具
- fcntl—fcntl和ioctl系统调用
- resource— 资源使用信息
- syslog— Unix syslog 库例程
- 模块命令行界面(CLI)
-
被取代的模块
- aifc— 读写 AIFF 和 AIFC 文件
- audioop— 处理原始音频数据
- cgi— 通用网关接口支持
- cgitb— 用于 CGI 脚本的回溯管理器
- chunk— 读取 IFF 分块数据
- crypt—— 验证 Unix 口令的函数
- imghdr— 推测图像类型
- mailcap— Mailcap 文件处理
- msilib— 读写 Microsoft Installer 文件
- nis— Sun 的 NIS (黄页) 接口
- nntplib— NNTP 协议客户端
- optparse— 命令行选项的解析器
- ossaudiodev— 访问兼容OSS的音频设备
- pipes— 终端管道接口
- sndhdr— 推测声音文件的类型
- spwd—— shadow 密码库
- sunau— 读写 Sun AU 文件
- telnetlib— Telnet 客户端
- uu— 对 uuencode 文件进行编码与解码
- xdrlib— 编码与解码 XDR 数据
- 安全考量
