Python3 标准库概览¶
概念与用途¶
标准库随 Python 发布,覆盖文件、数据格式、日期、并发、网络、测试和系统接口。先评估标准库可以减少依赖供应链风险,但仍要理解模块的适用边界。
核心模块¶
常用模块包括 pathlib 路径、json/csv 数据、datetime 时间、re 正则、collections 容器、subprocess 进程、logging 日志、unittest 测试和 hashlib 摘要。
import json
from collections import Counter
from datetime import datetime, timezone
record = {
"time": datetime.now(timezone.utc).isoformat(),
"counts": Counter("banana"),
}
print(json.dumps(record, ensure_ascii=False))
按任务选择模块¶
| 任务 | 模块 | 安全边界 |
|---|---|---|
| 参数解析 | argparse |
校验类型和范围 |
| 临时资源 | tempfile |
使用上下文管理器 |
| 子进程 | subprocess |
参数列表、超时 |
| 安全随机 | secrets |
不用 random 生成令牌 |
| 数据序列化 | json |
不等于 schema 校验 |
示例:创建安全临时目录¶
from pathlib import Path
from tempfile import TemporaryDirectory
with TemporaryDirectory(prefix="python-demo-") as directory:
path = Path(directory) / "result.txt"
path.write_text("ok", encoding="utf-8")
print(path.read_text(encoding="utf-8"))
print("临时目录已清理")
标准库模块也有弃用周期,例如旧接口会在新版本移除。升级 Python 前应阅读 What's New、弃用警告并在目标版本运行测试。
常见错误与工程注意¶
- 标准库不代表所有 API 都安全适合不可信输入,例如
pickle可执行任意代码。 - 不要用本地文件名遮蔽标准库模块。
- 跨 Python 版本的行为和可用 API 可能变化,部署前固定并测试目标版本。