1 概述
1.1 可用性注释. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 内置函数
3 内置常量
3.1 由site 模块添加的常量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 内置类型
4.1 逻辑值检测. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 布尔运算— and, or, not . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.4 数字类型— int, float, complex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.5 迭代器类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6 序列类型— list, tuple, range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.7 文本序列类型— str . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.8 二进制序列类型— bytes, bytearray, memoryview . . . . . . . . . . . . . . . . . . . . 48
4.9 集合类型— set, frozenset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.10 映射类型— dict . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.11 上下文管理器类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.12 其他内置类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.13 特殊属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5 内置异常
5.1 基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2 具体异常. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 警告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.4 异常层次结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6 文本处理服务87
6.1 string — 常见的字符串操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
6.2 re — 正则表达式操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.3 difflib — 计算差异的辅助工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
6.4 textwrap — 文本自动换行与填充. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.5 unicodedata — Unicode 数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
6.6 stringprep — 因特网字符串预备. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
6.7 readline — GNU readline 接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
6.8 rlcompleter — GNU readline 的补全函数. . . . . . . . . . . . . . . . . . . . . . . . . . . 132
7 二进制数据服务
7.1 struct — 将字节串解读为打包的二进制数据. . . . . . . . . . . . . . . . . . . . . . . . . 135
7.2 codecs — 编解码器注册和相关基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8 数据类型
8.1 datetime — 基本的日期和时间类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
8.2 calendar — 日历相关函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
8.3 collections — 容器数据类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
8.4 collections.abc — 容器的抽象基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
8.5 heapq — 堆队列算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
8.6 bisect — 数组二分查找算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
8.7 array — 高效的数值数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
8.8 weakref — 弱引用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
8.9 types — 动态类型创建和内置类型名称. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
8.10 copy — 浅层(shallow) 和深层(deep) 复制操作. . . . . . . . . . . . . . . . . . . . . . . . . 229
8.11 pprint — 数据美化输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8.12 reprlib — 另一种repr() 实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
8.13 enum — 对枚举的支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
9 数字和数学模块
9.1 numbers — 数字的抽象基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
9.2 math — 数学函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
9.3 cmath ——关于复数的数学函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
9.4 decimal — 十进制定点和浮点运算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
9.5 fractions — 分数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
9.6 random — 生成伪随机数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
9.7 statistics — 数学统计函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
10 函数式编程模块
10.1 itertools — 为高效循环而创建迭代器的函数. . . . . . . . . . . . . . . . . . . . . . . . 309
10.2 functools — 高阶函数和可调用对象上的操作. . . . . . . . . . . . . . . . . . . . . . . . 322
10.3 operator — 标准运算符替代函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
11 文件和目录访问
11.1 pathlib — 面向对象的文件系统路径. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
11.2 os.path — 常见路径操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
11.3 fileinput — Iterate over lines from multiple input streams . . . . . . . . . . . . . . . . . . . 357
11.4 stat — Interpreting stat() results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
11.5 filecmp — 文件及目录的比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
11.6 tempfile — Generate temporary files and directories . . . . . . . . . . . . . . . . . . . . . 365
11.7 glob — Unix style pathname pattern expansion . . . . . . . . . . . . . . . . . . . . . . . . . . 369
11.8 fnmatch — Unix filename pattern matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
11.9 linecache — 随机读写文本行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
11.10 shutil — High-level file operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
12 数据持久化
12.1 pickle ——Python 对象序列化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
12.2 copyreg — 注意pickle 支持函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
12.3 shelve — Python object persistence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
12.4 marshal — Internal Python object serialization . . . . . . . . . . . . . . . . . . . . . . . . . . 399
12.5 dbm — Interfaces to Unix ”databases” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
12.6 sqlite3 — SQLite 数据库DB-API 2.0 接口模块. . . . . . . . . . . . . . . . . . . . . . . . 404
13 数据压缩和存档
13.1 zlib — 与gzip 兼容的压缩. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
13.2 gzip — 对gzip 格式的支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
13.3 bz2 — 对bzip2 压缩算法的支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
13.4 lzma — 用LZMA 算法压缩. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
13.5 zipfile — 使用ZIP 存档. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
13.6 tarfile — 读写tar 归档文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
14 文件格式
14.1 csv — CSV 文件读写. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
14.2 configparser — Configuration file parser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
14.3 netrc — netrc file processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
14.4 xdrlib — Encode and decode XDR data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
14.5 plistlib — Generate and parse Mac OS X .plist files . . . . . . . . . . . . . . . . . . . . 485
15 加密服务
15.1 hashlib — 安全哈希与消息摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
15.2 hmac — 基于密钥的消息验证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
15.3 secrets — Generate secure random numbers for managing secrets . . . . .. . . . 500
16 通用操作系统服务
16.1 os — 各种各样的操作系统接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
16.2 io — 处理流的核心工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
16.3 time — 时间的访问和转换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
16.4 argparse — 命令行选项、参数和子命令解析器. . . . . . . . . . . . . . . . . . . . . . . . 570
16.5 getopt — C-style parser for command line options . . . . . . . . . . . . . . . . . . . . . . . . 599
16.6 模块logging — Python 的日志记录工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
16.7 logging.config — 日志记录配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
16.8 logging.handlers — Logging handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
16.9 getpass — 便携式密码输入工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
16.10 curses — 终端字符单元显示的处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
16.11 curses.textpad — Text input widget for curses programs . . . . . . . . . . . . . . . . . . 654
16.12 curses.ascii — Utilities for ASCII characters . . . . . . . . . . . . . . . . . . . . . . . . . 656
16.13 curses.panel — A panel stack extension for curses . . . . . . . . . . . . . . . . . . . . . . 658
16.14 platform — 获取底层平台的标识数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
16.15 errno — Standard errno system symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
16.16 ctypes — Python 的外部函数库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
17 并发执行
17.1 threading — 基于线程的并行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
17.2 multiprocessing — 基于进程的并行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
17.3 multiprocessing.shared_memory — 可从进程直接访问的共享内存. . . . . . . . . 748
17.4 concurrent 包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
17.5 concurrent.futures — 启动并行任务. . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
17.6 subprocess — 子进程管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
17.7 sched — 事件调度器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
17.8 queue — 一个同步的队列类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
17.9 _thread — 底层多线程API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
17.10 _dummy_thread — _thread 的替代模块. . . . . . . . . . . . . . . . . . . . . . . . . . . 780
17.11 dummy_threading — 可直接替代threading 模块。. . . . . . . . . . . . . . . . . . . 780
18 contextvars — Context Variables 781
18.1 Context Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
18.2 Manual Context Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
18.3 asyncio support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
19 网络和进程间通信
19.1 asyncio — 异步I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
19.2 socket — 底层网络接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863
19.3 ssl — TLS/SSL wrapper for socket objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885
19.4 select — 等待I/O 完成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
19.5 selectors — 高级I/O 复用库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925
19.6 asyncore — 异步socket 处理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
19.7 asynchat — 异步socket 指令/响应处理器. . . . . . . . . . . . . . . . . . . . . . . . . . . 932
19.8 signal — 设置异步事件处理程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934
19.9 mmap — 内存映射文件支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940
20 互联网数据处理
20.1 email — 电子邮件与MIME 处理包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945
20.2 json — JSON 编码和解码器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999
20.3 mailcap — Mailcap file handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008
20.4 mailbox — Manipulate mailboxes in various formats . . . . . . . . . . . . . . . . . . . . . 1009
20.5 mimetypes — Map filenames to MIME types . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025
20.6 base64 — Base16, Base32, Base64, Base85 数据编码. . . . . . . . . . . . . . . . . . . 1028
20.7 binhex — 对binhex4 文件进行编码和解码. . . . . . . . . . . . . . . . . . . . . . . . . . . 1030
20.8 binascii — 二进制和ASCII 码互转. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031
20.9 quopri — 编码与解码经过MIME 转码的可打印数据. . . . . . . . . . . . . . . . . . . . . 1033
20.10 uu — 对uuencode 文件进行编码与解码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034
21 结构化标记处理工具
21.1 html — 超文本标记语言支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035
21.2 html.parser — 简单的HTML 和XHTML 解析器. . . . . . . . . . . . . . . . . . . . . . 1035
21.3 html.entities — HTML 一般实体的定义. . . . . . . . . . . . . . . . . . . . . . . . . . 1040
21.4 XML 处理模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040
21.5 xml.etree.ElementTree — ElementTree XML API . . . . . . . . . . . . . . . . . . . . . 1041
21.6 xml.dom — The Document Object Model API . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059
21.7 xml.dom.minidom — Minimal DOM implementation . . . . . . . . . . . . . . . . . . . . . . 1068
21.8 xml.dom.pulldom — Support for building partial DOM trees . . . . . . . . . . . . . . . . 1072
21.9 xml.sax — Support for SAX2 parsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
21.10 xml.sax.handler — Base classes for SAX handlers . . . . . . . . . . . . . . . . . . . . . 1076
21.11 xml.sax.saxutils — SAX Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080
21.12 xml.sax.xmlreader — Interface for XML parsers . . . . . . . . . . . . . . . . . . . . . . . 1081
21.13 xml.parsers.expat — Fast XML parsing using Expat . . . . . . . . . . . . . . . . . . . . 1085
22 互联网协议和支持
22.1 webbrowser — 方便的Web 浏览器控制器. . . . . . . . . . . . . . . . . . . . . . . . . . . 1095
22.2 cgi — Common Gateway Interface support . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1097
22.3 cgitb — 用于CGI 脚本的回溯管理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
22.4 wsgiref — WSGI Utilities and Reference Implementation . . . . . . . . . . . . . . . . . . 1104
22.5 urllib — URL 处理模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113
22.6 urllib.request — 用于打开URL 的可扩展库. . . . . . . . . . . . . . . . . . . . . . . . 1113
22.7 urllib.response — urllib 使用的Response 类. . . . . . . . . . . . . . . . . . . . . . . . 1130
22.8 urllib.parse — Parse URLs into components . . . . . . . . . . . . . . . . . . . . . . . . . 1130
22.9 urllib.error — urllib.request 引发的异常类. . . . . . . . . . . . . . . . . . . . . . . . . 1137
22.10 urllib.robotparser — robots.txt 语法分析程序. . . . . . . . . . . . . . . . . . . . . . 1138
22.11 http — HTTP 模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
22.12 http.client — HTTP 协议客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141
22.13 ftplib — FTP 协议客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147
22.14 poplib — POP3 protocol client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1152
22.15 imaplib — IMAP4 protocol client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1155
22.16 nntplib — NNTP protocol client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1161
22.17 smtplib —SMTP 协议客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167
22.18 smtpd — SMTP 服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
22.19 telnetlib — Telnet client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176
22.20 uuid — UUID objects according to RFC 4122 . . . . . . . . . . . . . . . . . . . . . . . . . . 1179
22.21 socketserver — A framework for network servers . . . . . . . . . . . . . . . . . . . . . . . 1182
22.22 http.server — HTTP 服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1190
22.23 http.cookies — HTTP 状态管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195
22.24 http.cookiejar ——HTTP 客户端的Cookie 处理. . . . . . . . . . . . . . . . . . . . . . 1198
22.25 xmlrpc — XMLRPC 服务端与客户端模块. . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
22.26 xmlrpc.client — XML-RPC client access . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206
22.27 xmlrpc.server — Basic XML-RPC servers . . . . . . . . . . . . . . . . . . . . . . . . . . . 1214
22.28 ipaddress — IPv4/IPv6 manipulation library . . . . . . . . . . . . . . . . . . . . . . . . . . 1219
23 多媒体服务
23.1 audioop — Manipulate raw audio data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233
23.2 aifc — Read and write AIFF and AIFC files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236
23.3 sunau — 读写Sun AU 文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238
23.4 wave — 读写WAV 格式文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241
23.5 chunk — Read IFF chunked data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243
23.6 colorsys — 颜色系统间的转换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244
23.7 imghdr — 推测图像类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1245
23.8 sndhdr — 推测声音文件的类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246
23.9 ossaudiodev — Access to OSS-compatible audio devices . . . . . . . . . . . . . . 1246
24 国际化
24.1 gettext — 多语种国际化服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1251
24.2 locale — 国际化服务. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1260
25 程序框架
25.1 turtle — 海龟绘图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267
25.2 cmd — 支持面向行的命令解释器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298
25.3 shlex — Simple lexical analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1302
26 Tk 图形用户界面(GUI)
26.1 tkinter — Tcl/Tk 的Python 接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
26.2 tkinter.ttk — Tk 主题小部件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319
26.3 tkinter.tix — Extension widgets for Tk . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1336
26.4 tkinter.scrolledtext — 滚动文字控件. . . . . . . . . . . . . . . . . . . . . . . . . . 1340
26.5 IDLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1341
26.6 其他图形用户界面(GUI)包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1351
27 开发工具
27.1 typing — 类型标注支持. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
27.2 pydoc — Documentation generator and online help system . . . . . . . . . . . . . . . 1371
27.3 doctest — 测试交互性的Python 示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372
27.4 unittest — 单元测试框架. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1394
27.5 unittest.mock — mock 对象库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1422
27.6 unittest.mock 上手指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459
27.7 2to3 - 自动将Python 2 代码转为Python 3 代码. . . . . . . . . . . . . . . . . . . . . . . . . . 1478
27.8 test — Regression tests package for Python . . . . . . . . . . . . . . . . . . . . . . . . . . . 1483
27.9 test.support — Utilities for the Python test suite . . . . . . . . . . . . . . . . . . . . . . . . 1485
27.10 test.support.script_helper — Utilities for the Python execution tests . . . . . . . . 1497
28 调试和分析
28.1 审计事件表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499
28.2 bdb — Debugger framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1501
28.3 faulthandler — Dump the Python traceback . . . . . . . . . . . . . . . . . . . . . . . . . . 1505
28.4 pdb — Python 的调试器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1507
28.5 Python Profilers 分析器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512
28.6 timeit — 测量小代码片段的执行时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1520
28.7 trace — Trace or track Python statement execution . . . . . . . . . . . . . . . . . . . . 1524
28.8 tracemalloc — 跟踪内存分配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1527
29 软件打包和分发
29.1 distutils — 构建和安装Python 模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1537
29.2 ensurepip — Bootstrapping the pip installer . . . . . . . . . . . . . . . . . . . . . . . . . . 1537
29.3 venv — 创建虚拟环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539
29.4 zipapp — Manage executable Python zip archives . . . . . . . . . . . . . . . . . . . . . . 1547
30 Python 运行时服务
30.1 sys — 系统相关的参数和函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553
30.2 sysconfig — Provide access to Python’s configuration information . . . . .. . . . 1571
30.3 builtins — 内建对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574
30.4 __main__ — 顶层脚本环境. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1574
30.5 warnings — Warning control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575
30.6 dataclasses — 数据类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1581
30.7 contextlib — Utilities for with-statement contexts . . . . . . . . . . . . . . . . . . . . . . 1588
30.8 abc — 抽象基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599
30.9 atexit — 退出处理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1603
30.10 traceback — 打印或检索堆栈回溯. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605
30.11 __future__ — Future 语句定义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1610
30.12 gc — 垃圾回收器接口. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1611
30.13 inspect — 检查对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614
30.14 site — Site-specific configuration hook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629
31 自定义Python 解释器
31.1 code — 解释器基类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633
31.2 codeop — 编译Python 代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1635
32 导入模块
32.1 zipimport — Import modules from Zip archives . . . . . . . . . . . . . . . . . . . . . . . . . 1637
32.2 pkgutil — Package extension utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1639
32.3 modulefinder — 查找脚本使用的模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1641
32.4 runpy — Locating and executing Python modules . . . . . . . . . . . . . . . . . . . . . 1643
32.5 importlib — import 的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644
32.6 Using importlib.metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663
33 Python 语言服务
33.1 parser — Access Python parse trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1667
33.2 ast — 抽象语法树. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1671
33.3 symtable — Access to the compiler’s symbol tables . . . . . . . . . . . . . . . . . . . . 1677
33.4 symbol — 与Python 解析树一起使用的常量. . . . . . . . . . . . . . . . . . . . . . . . . . 1679
33.5 token — 与Python 解析树一起使用的常量. . . . . . . . . . . . . . . . . . . . . . . . . . . 1679
33.6 keyword — 检验Python 关键字. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1682
33.7 tokenize — Tokenizer for Python source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1682
33.8 tabnanny — 模糊缩进检测. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1686
33.9 pyclbr — Python class browser support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1686
33.10 py_compile — Compile Python source files . . . . . . . . . . . . . . . . . . . . . . . . . . . 1688
33.11 compileall — Byte-compile Python libraries . . . . . . . . . . . . . . . . . . . . . . . . . . 1689
33.12 dis — Python 字节码反汇编器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1693
33.13 pickletools — Tools for pickle developers . . . . . . . . . . . . . . . . . . . . . . . . . . . 1705
34 杂项服务
34.1 formatter — Generic output formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1707
35 Windows 系统相关模块
35.1 msilib — Read and write Microsoft Installer files . . . . . . . . . . . . . . . . . . . . . . . . . 1711
35.2 msvcrt — Useful routines from the MS VC++ runtime . . . . . . . . . . . . . . . . . . . . . . 1716
35.3 winreg — Windows 注册表访问. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1718
35.4 winsound — Sound-playing interface for Windows . . . . . . . . . . . . . . . . . . . . . . . . 1725
36 Unix 专有服务
36.1 posix — The most common POSIX system calls . . . . . . . . . . . . . . . . . . . . . . . . 1729
36.2 pwd — 用户密码数据库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1730
36.3 spwd — The shadow password database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1731
36.4 grp — The group database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1731
36.5 crypt — Function to check Unix passwords . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1732
36.6 termios — POSIX style tty control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1734
36.7 tty — 终端控制功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1735
36.8 pty — Pseudo-terminal utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1736
36.9 fcntl — The fcntl and ioctl system calls . . . . . . . . . . . . . . . . . . . . . . . . . . . 1737
36.10 pipes — Interface to shell pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1739
36.11 resource — Resource usage information . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1740
36.12 nis — Interface to Sun’s NIS (Yellow Pages) . . . . . . . . . . . . . . . . . . . . . . . . . . 1744
36.13 Unix syslog 库例程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744
37 被取代的模块
37.1 optparse — 解析器的命令行选项. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1747
37.2 imp — Access the import internals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1772
38 未创建文档的模块
38.1 平台特定模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1777
A 术语对照表1779
B 文档说明1791
B.1 Python 文档贡献者. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791
C 历史和许可证1793
C.1 该软件的历史. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1793
C.2 获取或以其他方式使用Python 的条款和条件. . . . . . . . . . . . . . . . . . . . . . . . . . 1794
C.3 被收录软件的许可证与鸣谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1797
D 版权1809
Bibliography 1811
Python 模块索引1813
索引1817