Python 标准库概述
Python 标准库是 Python 语言安装后自带的一组核心模块集合,提供了丰富的内置功能,无需额外安装第三方包即可实现系统级操作、数据处理、网络通信等任务。掌握标准库能显著提升开发效率,增强代码的可移植性。
本文系统梳理了 Python 标准库的 200 余个核心模块,按功能划分为文本处理、数据结构、数学运算、文件系统、网络通信、并发编程等类别。详细介绍了各模块的主要用途及适用场景,并提供了基础使用示例。旨在帮助开发者快速掌握 Python 内置能力,减少对外部依赖的过度使用,提升代码的可移植性与执行效率。

Python 标准库是 Python 语言安装后自带的一组核心模块集合,提供了丰富的内置功能,无需额外安装第三方包即可实现系统级操作、数据处理、网络通信等任务。掌握标准库能显著提升开发效率,增强代码的可移植性。
string: 提供通用的字符串操作方法,包括大小写转换、拼接、分割、替换等基础功能,是处理文本数据的核心工具。
re: 正则表达式操作模块,支持复杂的模式匹配、搜索和替换,常用于数据清洗和验证。
difflib: 差异计算工具,用于比较序列之间的差异,常用于版本控制或文档对比。
textwrap: 文本填充模块,自动调整文本行的长度以适应指定宽度。
unicodedata: Unicode 字符数据库,提供对 Unicode 字符属性的查询和处理能力。
stringprep: 互联网字符串准备工具,用于处理符合 RFC 标准的字符串预处理。
readline: GNU 按行读取接口,提供交互式命令行输入和历史记录功能。
rlcompleter: GNU 按行读取的实现函数,支持命令补全功能。
struct: 将字节解析为打包的二进制数据,支持 C 风格结构体的读写。
codecs: 注册表与基类的编解码器,处理字符编码和解码过程。
datetime: 基于日期与时间工具,提供日期、时间、时区等对象的操作。
calendar: 通用月份函数,生成日历格式的输出。
collections: 容器数据类型,提供 dict、list 之外的特殊容器如 Counter、deque 等。
collections.abc: 容器虚基类,定义抽象基类以检查对象是否实现了特定接口。
heapq: 堆队列算法,实现最小堆数据结构,支持高效排序和优先级队列。
bisect: 数组二分算法,在有序列表中查找插入位置。
array: 高效数值数组,存储同类型数值比 list 更节省内存。
weakref: 弱引用,允许访问对象而不增加引用计数,避免循环引用导致的内存泄漏。
types: 内置类型的动态创建与命名,用于运行时类型检查。
copy: 浅拷贝与深拷贝,复制对象及其内容。
pprint: 格式化输出,美化复杂数据结构的打印结果。
reprlib: 交替 repr() 的实现,限制长列表或字典的显示长度。
numbers: 数值的虚基类,定义数字类型的抽象接口。
math: 数学函数,提供三角函数、对数、幂运算等基础数学工具。
cmath: 复数的数学函数,支持复数域的数学运算。
decimal: 定点数与浮点数计算,提供高精度十进制算术。
fractions: 有理数,支持分数形式的精确计算。
random: 生成伪随机数,用于模拟、游戏或测试场景。
itertools: 为高效循环生成迭代器,提供组合、排列、分组等高级迭代工具。
functools: 可调用对象上的高阶函数与操作,支持装饰器、缓存等功能。
operator: 针对函数的标准操作,将运算符映射为函数。
os.path: 通用路径名控制,处理跨平台的路径拼接和操作。
fileinput: 从多输入流中遍历行,方便处理多个文件。
stat: 解释 stat() 的结果,获取文件状态信息。
filecmp: 文件与目录的比较函数,判断文件或目录是否相同。
tempfile: 生成临时文件与目录,安全地创建临时存储空间。
glob: Unix 风格路径名格式的扩展,根据模式匹配文件名。
fnmatch: Unix 风格路径名格式的比对,进行文件名通配符匹配。
linecache: 文本行的随机存储,用于快速访问文件中的特定行。
shutil: 高级文件操作,支持复制、移动、删除文件和目录。
macpath: MacOS 9 路径控制函数,处理旧版 Mac 路径格式。
pickle: Python 对象序列化,将 Python 对象转换为字节流以便存储。
copyreg: 注册机对 pickle 的支持函数,自定义对象的序列化规则。
shelve: Python 对象持久化,类似字典的文件存储接口。
marshal: 内部 Python 对象序列化,用于编译后的 .pyc 文件。
dbm: Unix'数据库'接口,简单的键值对存储。
sqlite3: 针对 SQLite 数据库的 API2.0,轻量级关系型数据库支持。
zlib: 兼容 gzip 的压缩,提供 DEFLATE 压缩算法。
gzip: 对 gzip 文件的支持,处理压缩文件的读写。
bz2: 对 bzip2 压缩的支持,高压缩率算法。
lzma: 使用 LZMA 算法的压缩,现代高压缩率标准。
zipfile: 操作 ZIP 存档,管理压缩包内的文件。
tarfile: 读写 tar 存档文件,处理归档文件。
csv: 读写 CSV 文件,处理逗号分隔值数据。
configparser: 配置文件解析器,读取 INI 风格的配置文件。
netrc: netrc 文件处理器,管理远程登录凭证。
xdrlib: XDR 数据编码与解码,外部数据表示标准。
plistlib: 生成和解析 Mac OS X.plist 文件,属性列表处理。
hashlib: 安全散列与消息摘要,支持 MD5、SHA 等哈希算法。
hmac: 针对消息认证的键散列,提供消息认证码功能。
os: 多方面的操作系统接口,提供文件、进程、环境变量等操作。
io: 流核心工具,处理输入输出流的抽象。
time: 时间的查询与转化,获取当前时间或睡眠。
argparser: 命令行选项、参数和子命令的解析器,简化命令行参数处理。
optparser: 命令行选项解析器,较旧的命令行解析方式。
getopt: C 风格的命令行选项解析器。
logging: Python 日志工具,记录程序运行状态。
logging.config: 日志配置,加载日志配置文件。
logging.handlers: 日志处理器,支持发送到文件、网络等。
getpass: 简易密码输入,隐藏终端输入的密码。
curses: 字符显示的终端处理,构建基于文本的用户界面。
curses.textpad: curses 程序的文本输入域。
curses.ascii: ASCII 字符集工具。
curses.panel: curses 的控件栈扩展。
platform: 访问底层平台认证数据,识别操作系统类型。
errno: 标准错误记号,定义系统错误码。
ctypes: Python 外部函数库,调用 C 语言编写的动态链接库。
threading: 基于线程的并行,管理多线程执行。
multiprocessing: 基于进程的并行,利用多核 CPU 资源。
concurrent: 并发包,统一并发接口。
concurrent.futures: 启动并行任务,提供线程池和进程池的高级接口。
subprocess: 子进程管理,启动新进程并连接其输入输出管道。
sched: 事件调度,管理定时任务。
queue: 同步队列,线程间安全的数据交换。
select: 等待 I/O 完成,监控多个文件描述符的状态。
dummy_threading: threading 模块的替代(当_thread 不可用时)。
_thread: 底层的线程 API(threading 基于其上)。
_dummy_thread: _thread 模块的替代(当_thread 不可用时)。
socket: 底层网络接口,实现 TCP/UDP 通信。
ssl: socket 对象的 TLS / SSL 填充器,加密网络连接。
asyncore: 异步套接字处理器,处理异步网络 IO。
asynchat: 异步套接字命令 / 响应处理器。
signal: 异步事务信号处理器,捕获系统信号。
mmap: 内存映射文件支持,将文件映射到内存地址空间。
email: 邮件与 MIME 处理包,解析和构造电子邮件。
json: JSON 编码与解码,处理结构化数据交换。
mailcap: mailcap 文件处理,关联文件类型与应用程序。
mailbox: 多种格式控制邮箱,管理本地邮箱。
mimetypes: 文件名与 MIME 类型映射,识别文件类型。
base64: RFC 3548: Base16、Base32、Base64 编码,二进制转文本。
binhex: binhex4 文件编码与解码。
binascii: 二进制码与 ASCII 码间的转化。
quopri: MIME quoted - printable 数据的编码与解码。
uu: uuencode 文件的编码与解码。
html: HTML 支持,处理 HTML 实体。
html.parser: 简单 HTML 与 XHTML 解析器。
html.entities: HTML 通用实体的定义。
xml: XML 处理模块。
xml.etree.ElementTree: 树形 XML 元素 API,高效解析 XML。
xml.dom: XML DOM API,文档对象模型。
xml.dom.minidom: XML DOM 最小生成树。
xml.dom.pulldom: 构建部分 DOM 树的支持。
xml.sax: SAX2 解析的支持,流式解析。
xml.sax.handler: SAX 处理器基类。
xml.sax.saxutils: SAX 工具。
xml.sax.xmlreader: SAX 解析器接口。
xml.parsers.expat: 运用 Expat 快速解析 XML。
webbrowser: 简易 Web 浏览器控制器,打开默认浏览器。
cgi: CGI 支持,处理通用网关接口请求。
cgitb: CGI 脚本反向追踪管理器,显示详细错误信息。
wsgiref: WSGI 工具与引用实现,Web 服务网关接口。
urllib: URL 处理模块,处理网络请求。
urllib.request: 打开 URL 连接的扩展库。
urllib.response: urllib 模块的响应类。
urllib.parse: 将 URL 解析成组件。
urllib.error: urllib.request 引发的异常类。
urllib.robotparser: robots.txt 的解析器。
http: HTTP 模块。
http.client: HTTP 协议客户端。
ftplib: FTP 协议客户端。
poplib: POP 协议客户端。
imaplib: IMAP4 协议客户端。
nntplib: NNTP 协议客户端。
smtplib: SMTP 协议客户端。
smtpd: SMTP 服务器。
telnetlib: Telnet 客户端。
uuid: RFC4122 的 UUID 对象,生成唯一标识符。
socketserver: 网络服务器框架。
http.server: HTTP 服务器。
http.cookies: HTTPCookie 状态管理器。
http.cookiejar: HTTP 客户端的 Cookie 处理。
xmlrpc: XML-RPC 服务器和客户端模块。
xmlrpc.client: XML-RPC 客户端访问。
xmlrpc.server: XML-RPC 服务器基础。
ipaddress: IPv4 / IPv6 控制库,处理 IP 地址。
audioop: 处理原始音频数据。
aifc: 读写 AIFF 和 AIFC 文件。
sunau: 读写 Sun AU 文件。
wave: 读写 WAV 文件。
chunk: 读取 IFF 大文件。
colorsys: 颜色系统间转化。
imghdr: 指定图像类型。
sndhdr: 指定声音文件类型。
ossaudiodev: 访问兼容 OSS 的音频设备。
gettext: 多语言的国际化服务。
locale: 国际化服务,设置区域环境。
turtle: Turtle 图形库,用于教学绘图。
cmd: 基于行的命令解释器支持。
shlex: 简单词典分析,解析 shell 风格的字符串。
tkinter: Tcl / Tk 接口,构建桌面 GUI 应用。
tkinter.ttk: Tk 主题控件,现代化外观。
tkinter.tix: Tk 扩展控件。
tkinter.scrolledtext: 滚轴文本控件。
pydoc: 文档生成器和在线帮助系统。
doctest: 交互式 Python 示例,嵌入测试用例。
unittest: 单元测试框架,支持自动化测试。
unittest.mock: 模拟对象库,隔离依赖进行测试。
test: Python 回归测试包。
test.support: Python 测试工具套件。
venv: 虚拟环境搭建,隔离项目依赖。
bdb: 调试框架。
faulthandler: Python 反向追踪库,捕获致命错误。
pdb: Python 调试器,交互式调试。
timeit: 小段代码执行时间测算。
trace: Python 执行状态追踪。
sys: 系统相关的参数与函数,访问解释器变量。
sysconfig: 访问 Python 配置信息。
builtins: 内置对象,直接访问内置函数。
main: 顶层脚本环境。
warnings: 警告控制,管理运行时警告。
contextlib: with 状态的上下文工具,简化资源管理。
abc: 虚基类,定义抽象基类。
atexit: 出口处理器,注册退出时执行的函数。
traceback: 打印或读取一条栈的反向追踪。
future: 未来状态定义。
gc: 垃圾回收接口,控制内存回收。
inspect: 检查存活的对象,获取对象详细信息。
site: 址相关的配置钩子(hook),初始化站点。
fpectl: 浮点数异常控制。
distutils: 生成和安装 Python 模块。
code: 基类解释器。
codeop: 编译 Python 代码。
imp: 访问 import 模块的内部。
zipimport: 从 ZIP 归档中导入模块。
pkgutil: 包扩展工具。
modulefinder: 通过脚本查找模块。
runpy: 定位并执行 Python 模块。
importlib: import 的一种实施,动态导入。
parser: 访问 Python 解析树。
ast: 抽象句法树,代码结构表示。
symtable: 访问编译器符号表。
symbol: Python 解析树中的常量。
token: Python 解析树中的常量。
keyword: Python 关键字测试。
tokenize: Python 源文件分词。
tabnany: 模糊缩进检测。
pyclbr: Python 类浏览支持。
py_compile: 编译 Python 源文件。
compileall: 按字节编译 Python 库。
dis: Python 字节码的反汇编器。
pickletools: 序列化开发工具。
formatter: 通用格式化输出。
msilib: 读写 Windows 的 Installer 文件。
msvcrt: MS VC++ Runtime 的有用程序。
winreg: Windows 注册表访问。
winsound: Windows 声音播放接口。
posix: 最常用的 POSIX 调用。
pwd: 密码数据库。
spwd: 影子密码数据库。
grp: 组数据库。
crypt: Unix 密码验证。
termios: POSIX 风格的 tty 控制。
tty: 终端控制函数。
pty: 伪终端工具。
fcntl: 系统调用 fcntl() 和 ioctl()。
pipes: shell 管道接口。
resource: 资源可用信息。
nis: Sun 的 NIS 的接口。
syslog: Unix 日志服务。
help(module) 或 dir(module) 查看模块详情。os, sys, datetime 等基础模块入手,逐步深入。contextlib 管理资源,使用 logging 记录运行状态。本文整理了 Python 标准库的核心内容,涵盖了从基础文本处理到高级网络通信的广泛领域。开发者可根据实际需求选择合适的模块,构建稳定高效的 Python 应用。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online