Python 开发手册PYTHON

CHAPTER 04标准库 · STDLIB

标准库
与包管理

Python 的"自带电池"哲学:标准库覆盖文件、日期、正则、序列化等。再配合 venv 与 pip 管理第三方依赖,用打包工具发布自己的库。

开始阅读难度中级约2.5小时
04.1

"自带电池"

标准库开箱即用:pathlib、datetime、json、re、collections、itertools、logging 等覆盖绝大多数日常需求。

先查标准库

遇到问题先查标准库,避免过早引入第三方依赖。需要更强能力(HTTP、数据框)再上 requests/pandas。

04.2

pathlib 与文件

pathlib 提供面向对象的路径操作,比字符串拼接更安全跨平台。

from pathlib import Path
p = Path("data") / "a.txt"
p.parent.mkdir(parents=True, exist_ok=True)
text = p.read_text(encoding="utf-8")
p.write_text("hi", encoding="utf-8")
04.3

json 与序列化

json 模块在 Python 对象与 JSON 间互转;dataclass 可用 asdict 序列化。

import json
s = json.dumps({"name": "林可", "age": 28}, ensure_ascii=False)
d = json.loads(s)
04.4

datetime

datetime/timedelta 处理日期与时间;时区用 zoneinfo(3.9+)。

from datetime import datetime, timedelta
now = datetime.now()
later = now + timedelta(days=7)
04.5

正则与 collections

re 做模式匹配;collections 提供 Counter/defaultdict/deque 等高效容器。

from collections import Counter
words = "a b a c a b".split()
print(Counter(words))         # Counter({'a':3,'b':2,'c':1})
04.6

venv 虚拟环境

venv 为每个项目隔离依赖,避免全局污染与版本冲突。

python3 -m venv .venv
source .venv/bin/activate     # Windows: .venv\Scripts\activate
pip install -r requirements.txt
04.7

pip 与依赖

pip 安装第三方包;用 requirements.txt 或 pyproject 锁定版本,保证可复现。

pip freeze > requirements.txt
pip install "fastapi>=0.110"
# 现代推荐用 uv 或 poetry 管理
pip install poetry
poetry add fastapi
04.8

打包发布

用 pyproject.toml 描述项目元数据与依赖,build + twine 发布到 PyPI。

[project]
name = "mylib"
version = "0.1.0"
dependencies = ["requests>=2.0"]
[build-system]
requires = ["setuptools>=61"]
build-backend = "setuptools.build_meta"
04.9

实战练习

延伸资源