Python 標準函式庫 (Standard Library)
************************************

Python 語言參考手冊說明 Python 這門語言確切的文法及語意，而這份函式庫
參考手冊則是說明隨著 Python 一起發佈的標準函式庫，除此之外，其內容也包
含一些時常出現在 Python 發佈版本中的非必要套件。

Python 的標準函式庫是非常龐大的，其提供了如下所述極多且涵蓋用途極廣的
許多模組。包含一些用 C 語言撰寫，可以操作像是檔案讀寫等系統相關功能的
內建模組，當然也有用 Python 撰寫，並使用標準解法解決許多常見問題的模組
。其中有些模組則是特別針對 Python 的可攜性去設計的，為此特地將一些平台
特殊相依性的功能抽象化成可跨平台的 API。

Python 的 Windows 安裝檔基本上包含整個標準函式庫，且通常也包含許多附加
的組件；而在類 Unix 作業系統方面，Python 通常是以一系列的套件被安裝，
因此對於某些或全部的可選組件，可能都必須使用該作業系統提供的套件管理工
具來安裝。

在標準函式庫之外，還有成千上萬且不斷增加的組件（從個別的程式、模組、套
件到完整的應用程式開發框架），可以從 Python 套件索引 (Python Package
Index) 中取得。

* 簡介

  * 可用性之註釋

* 內建函式

* 內建常數

  * 由 "site" 模块添加的常量

* 內建型態

  * 逻辑值检测

  * 布尔运算 --- "and", "or", "not"

  * 比较

  * 数字类型 --- "int", "float", "complex"

  * 迭代器类型

  * 序列类型 --- "list", "tuple", "range"

  * 文本序列类型 --- "str"

  * 二进制序列类型 --- "bytes", "bytearray", "memoryview"

  * 集合类型 --- "set", "frozenset"

  * 映射类型 --- "dict"

  * 上下文管理器类型

  * GenericAlias 类型

  * 其他内置类型

  * 特殊属性

  * Integer string conversion length limitation

* 內建的例外

  * 异常上下文

  * 繼承自內建的例外

  * 基类

  * 具体异常

  * 警告

  * 异常层次结构

* 文本處理 (Text Processing) 服務

  * "string" --- 常见的字符串操作

  * "re" --- 正则表达式操作

  * "difflib" --- 计算差异的辅助工具

  * "textwrap" --- 文本自动换行与填充

  * "unicodedata" --- Unicode 数据库

  * "stringprep" --- 因特网字符串预备

  * "readline" --- GNU readline 接口

  * "rlcompleter" --- GNU readline 的补全函数

* 二进制数据服务

  * "struct" --- 将字节串解读为打包的二进制数据

  * "codecs" --- 编解码器注册和相关基类

* 数据类型

  * "datetime" --- 基本日期和时间类型

  * "zoneinfo" --- IANA 时区支持

  * "calendar" --- 日历相关函数

  * "collections" --- 容器資料型態

  * "collections.abc" --- 容器的抽象基类

  * "heapq" --- 堆積佇列 (heap queue) 演算法

  * "bisect" --- 陣列二分演算法 (Array bisection algorithm)

  * "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" --- 配置文件解析器

  * "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 資料編碼

  * "binhex" --- 对binhex4文件进行编码和解码

  * "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 开发模式

  * 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" --- 用于测试正确字节码生成的支持工
    具

* 调试和分析

  * 审计事件表

  * "bdb" --- 调试器框架

  * "faulthandler" —— 转储 Python 的跟踪信息

  * "pdb" --- Python 的调试器

  * Python Profilers 分析器

  * "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.metadata"

* Python 语言服务

  * "parser" --- 访问 Python 解析树

  * "ast" --- 抽象语法树

  * "symtable" ——访问编译器的符号表

  * "symbol" --- 与 Python 解析树一起使用的常量

  * "token" --- 与Python解析树一起使用的常量

  * "keyword" --- 检验Python关键字

  * "tokenize" --- 对 Python 代码使用的标记解析器

  * "tabnanny" --- 模糊缩进检测

  * "pyclbr" --- Python 模块浏览器支持

  * "py_compile" --- 编译 Python 源文件

  * "compileall" --- 字节编译 Python 库

  * "dis" --- Python bytecode的反組譯器

  * "pickletools" --- pickle 开发者工具集

* 杂项服务

  * "formatter" --- 通用格式化输出

* 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 数据

* Security Considerations
