- python标准库
- 2024-07-06
Python 标准库
Python 语言参考手册 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它还描述了通常包含在 Python 发行版中的一些可选组件。
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了多个内置模块 (以 C 编写),Python 程序员必须依靠它们来实现系统级功能,例如文件 I/O,此外还有大量以 Python 编写的模块,提供了日常编程中许多问题的标准解决方案。其中有些模块经过专门设计,通过将特定平台功能抽象化为平台中立的 API 来鼓励和加强 Python 程序的可移植性。
Windows 版本的 Python 安装程序通常包含整个标准库,往往还包含许多额外组件。对于类 Unix 操作系统,Python 通常会分成一系列的软件包,因此可能需要使用操作系统所提供的包管理工具来获取部分或全部可选组件。
In addition to the standard library, there is an active collection of hundreds of thousands of components (from individual programs and modules to packages and entire application development frameworks), available from the Python Package Index.
概述
可用性注释
内置函数
内置常量
由 site 模块添加的常量
内置类型
逻辑值检测
布尔运算 --- and, or, not
比较运算
数字类型 --- int, float, complex
迭代器类型
序列类型 --- list, tuple, range
文本序列类型 --- str
二进制序列类型 --- bytes, bytearray, memoryview
集合类型 --- set, frozenset
映射类型 --- dict
上下文管理器类型
类型注解的类型 --- Generic Alias 、 Union
其他内置类型
特殊属性
整数字符串转换长度限制
内置异常
异常上下文
从内置异常继承
基类
具体异常
警告
Exception groups
异常层次结构
文本处理服务
string --- 常见的字符串操作
re --- 正则表达式操作
difflib --- 计算差异的辅助工具
textwrap --- 文本自动换行与填充
unicodedata --- Unicode 数据库
stringprep --- 因特网字符串预备
readline --- GNU readline 接口
rlcompleter --- GNU readline 的补全函数
二进制数据服务
struct --- 将字节串解读为打包的二进制数据
codecs --- 编解码器注册和相关基类
数据类型
datetime --- 基本日期和时间类型
zoneinfo --- IANA 时区支持
calendar --- 日历相关函数
collections --- 容器数据类型
collections.abc --- 容器的抽象基类
heapq --- 堆队列算法
bisect --- 数组二分查找算法
array --- 高效的数字数组
weakref --- 弱引用
types --- 动态类型创建和内置类型名称
copy --- 浅层 (shallow) 和深层 (deep) 复制操作
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 --- 高阶文件操作
数据持久化
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 --- 配置文件解析器
tomllib --- 解析 TOML 文件
netrc --- netrc 文件处理
plistlib --- 生成与解析 Apple .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 的面板栈扩展
platform --- 获取底层平台的标识数据
errno --- 标准 errno 系统符号
ctypes --- Python 的外部函数库
并发执行
threading --- 基于线程的并行
multiprocessing --- 基于进程的并行
multiprocessing.shared_memory --- 可跨进程直接访问的共享内存
concurrent 包
concurrent.futures --- 启动并行任务
subprocess --- 子进程管理
sched --- 事件调度器
queue --- 一个同步的队列类
contextvars --- 上下文变量
_thread --- 底层多线程 API
网络和进程间通信
asyncio --- 异步 I/O
socket --- 底层网络接口
ssl --- 套接字对象的 TLS/SSL 包装器
select --- 等待 I/O 完成
selectors --- 高级 I/O 复用库
signal --- 设置异步事件处理程序
mmap --- 内存映射文件支持
互联网数据处理
email --- 电子邮件与 MIME 处理包
json --- JSON 编码和解码器
mailbox --- 操作多种格式的邮箱
mimetypes --- 映射文件名到 MIME 类型
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 --- 使用 Expat 的快速 XML 解析
互联网协议和支持
webbrowser --- 方便的 Web 浏览器控制工具
wsgiref --- WSGI 工具和参考实现
urllib --- URL 处理模块
urllib.request --- 用于打开 URL 的可扩展库
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 --- 读写WAV格式文件
colorsys --- 颜色系统间的转换
国际化
gettext --- 多语种国际化服务
locale --- 国际化服务
程序框架
turtle --- 海龟绘图
cmd --- 支持面向行的命令解释器
shlex —— 简单的词法分析
Tk图形用户界面(GUI)
tkinter —— Tcl/Tk 的 Python 接口
tkinter.colorchooser --- 颜色选择对话框
tkinter.font --- Tkinter 字体封装
Tkinter 对话框
tkinter.messagebox --- Tkinter 消息提示
tkinter.scrolledtext --- 滚动文字控件
tkinter.dnd --- 拖放操作支持
tkinter.ttk --- Tk 风格的控件
tkinter.tix --- TK扩展包
IDLE
开发工具
typing —— 对类型提示的支持
pydoc --- 文档生成器和在线帮助系统
Python 开发模式
doctest --- 测试交互性的Python示例
unittest --- 单元测试框架
unittest.mock --- 模拟对象库
unittest.mock --- 上手指南
2to3 --- Automated Python 2 to 3 code translation
test --- 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 —— 跟踪 Python 语句的执行
tracemalloc --- 跟踪内存分配
软件打包和分发
distutils --- 构建和安装 Python 模块
ensurepip --- 引导 pip 安装器
venv --- 创建虚拟环境
zipapp —— 管理可执行的 Python zip 打包文件
Python运行时服务
sys --- 系统相关的形参和函数
sysconfig —— 提供对 Python 配置信息的访问支持
builtins --- 内建对象
__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 的实现
importlib.resources -- 包资源的读取、打开和访问
importlib.resources.abc -- 针对资源的抽象基类
importlib.metadata -- 访问软件包元数据
sys.path 模块搜索路径的初始化
Python 语言服务
ast --- 抽象语法树
symtable ——访问编译器的符号表
token --- 与Python解析树一起使用的常量
keyword --- 检验Python关键字
tokenize --- 对 Python 代码使用的标记解析器
tabnanny --- 模糊缩进检测
pyclbr --- Python 模块浏览器支持
py_compile --- 编译 Python 源文件
compileall --- 字节编译 Python 库
dis --- Python 字节码反汇编器
pickletools --- pickle 开发者工具集
Windows系统相关模块
msvcrt --- 来自 MS VC++ 运行时的有用例程
winreg --- 访问 Windows 注册表
winsound —— Windows 系统的音频播放接口
Unix 专有服务
posix --- 最常见的 POSIX 系统调用
pwd --- 用户密码数据库
grp --- 组数据库
termios --- POSIX 风格的 tty 控制
tty --- 终端控制功能
pty --- 伪终端工具
fcntl —— 系统调用 fcntl 和 ioctl
resource --- 资源使用信息
Unix syslog 库例程
被取代的模块
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 数据
安全考量
- 上一篇:关于解释器 下一篇:python中的字符串