Python 库大全 — 4库索引
C 语言标准库很小,只有几十个头文件;Python 的哲学恰恰相反——“batteries included”(电池已装好),标准库涵盖了从正则到 XML、从邮件到 HTTP Server 的大量模块,开箱即用。
标准库底层分析见 字节码深度剖析。第三方库生态则通过 pip 获取,是 Python 真正的战斗力来源。
本教程的定位:Python 是 C 工程师的”第二把刀”。本库索引强调 python -c "..." 一行流用法——能一行解决的,绝不写脚本。
标准库
Python 标准库 200+ 模块,此处精选约 25 个最常用模块按领域分类。
详细一行流示例见 标准库索引。
系统与进程
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
sys | python -c "import sys; print(sys.argv)" | 解释器运行时信息、argv、path、stdin/out | → |
os | python -c "import os; print(os.getcwd())" | 操作系统接口:目录、文件元信息、环境变量 | → |
shutil | python -c "import shutil; shutil.copy('a','b')" | 高级文件操作:复制、移动、rmtree 整删 | → |
subprocess | python -c "import subprocess; subprocess.run(['ls','-l'])" | 启动子进程,C 程序的 pipe 搭档 | → |
argparse | python -c "import argparse; p=argparse.ArgumentParser()" | 命令行参数解析,替代 C 的 getopt | → |
pathlib | python -c "from pathlib import Path; print(Path.cwd())" | 面向对象的文件路径操作 | → |
tempfile | python -c "import tempfile; print(tempfile.mkstemp())" | 临时文件与目录 | → |
文本与字符串
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
re | python -c "import re; print(re.findall(r'\d+','a1b2'))" | 正则表达式,比 C 的 regex.h 好用十倍 | → |
string | python -c "import string; print(string.ascii_lowercase)" | 字符串常量和格式化工具 | → |
textwrap | python -c "import textwrap; print(textwrap.wrap(t,40))" | 文本段落换行、缩进处理 | → |
difflib | python -m difflib a.txt b.txt | 文本比对、生成 diff(类似 Unix diff) | → |
容器与数据结构
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
collections | python -c "from collections import Counter; print(Counter('abracadabra'))" | Counter/Deque/defaultdict/OrderedDict | → |
heapq | python -c "import heapq; a=[3,1,2]; heapq.heapify(a)" | 堆队列算法(优先队列),O(log n) | → |
bisect | python -c "import bisect; a=[1,2,4]; bisect.insort(a,3)" | 二分查找与有序列表插入,O(log n) | → |
array | python -c "from array import array; a=array('i',[1,2,3])" | 紧凑的 C 数组(效率接近 C 原生数组) | → |
迭代与函数工具
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
itertools | python -c "import itertools; print(list(itertools.product('AB','12')))" | 无穷迭代器、排列组合、chain/groupby | → |
functools | python -c "from functools import reduce; print(reduce(lambda x,y:x+y,[1,2,3]))" | 高阶函数:reduce/lru_cache/partial | → |
operator | python -c "from operator import itemgetter; f=itemgetter(1)" | 运算符的函数形式:代替 lambda | → |
文件格式
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
json | python -c "import json; print(json.dumps({'a':1}))" | JSON 编解码,Python ⇄ C 数据交换首选 | → |
csv | python -c "import csv; reader=csv.reader(open('a.csv'))" | CSV 读写,表格数据处理 | → |
xml | python -c "import xml.etree.ElementTree as ET; ET.parse('a.xml')" | XML 解析(ElementTree) | → |
configparser | python -c "import configparser; c=configparser.ConfigParser()" | INI 配置文件解析(.ini/.cfg) | → |
struct | python -c "import struct; print(struct.pack('i',42))" | C 结构体二进制打包/解包,C 互操作利器 | → |
数学与随机
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
math | python -c "import math; print(math.sqrt(2))" | 标准数学函数(对标 C 的 math.h) | → |
random | python -c "import random; print(random.randint(1,10))" | 伪随机数生成,比 C 的 rand() 更丰富 | → |
statistics | python -c "import statistics; print(statistics.mean([1,2,3]))" | 平均值/中位数/标准差等统计量 | → |
decimal | python -c "from decimal import Decimal; print(Decimal('0.1')+Decimal('0.2'))" | 精确十进制运算(金融计算用) | → |
fractions | python -c "from fractions import Fraction; print(Fraction(1,3)+Fraction(1,3))" | 有理数(分数)精确运算 | → |
日期时间
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
datetime | python -c "from datetime import datetime; print(datetime.now())" | 日期时间处理,比 C 的 time.h 强大 | → |
time | python -c "import time; print(time.time())" | 时间戳、sleep、计时 | → |
calendar | python -c "import calendar; calendar.prmonth(2026,1)" | 日历生成、月份/星期相关运算 | → |
并发
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
threading | python -c "import threading; t=threading.Thread(target=print,args=('hi',)); t.start()" | 线程模块(受 GIL 限制),轻量并发 | → |
multiprocessing | python -c "from multiprocessing import Pool; p=Pool(4)" | 多进程(绕过 GIL),真正并行 | → |
concurrent.futures | python -c "from concurrent.futures import ThreadPoolExecutor" | 线程/进程池的高级封装 | → |
asyncio | python -c "import asyncio; asyncio.run(asyncio.sleep(1))" | 异步 I/O 框架,协程调度 | → |
网络
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
socket | python -c "import socket; s=socket.socket()" | 底层网络编程,与 C 的 BSD socket 同源 | → |
urllib | python -c "from urllib.request import urlopen; urlopen('http://example.com')" | URL 处理与 HTTP 请求(标准库内置) | → |
http.server | python -m http.server 8000 | 一行起 HTTP 静态文件服务器 | → |
email | python -c "from email.mime.text import MIMEText" | 邮件构建与解析、MIME 处理 | → |
ssl | python -c "import ssl; print(ssl.OPENSSL_VERSION)" | TLS/SSL 加密套接字 | → |
调试与测试
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
pdb | python -c "import pdb; pdb.set_trace()" | Python 调试器(对标 C 的 GDB) | → |
logging | python -c "import logging; logging.warning('test')" | 可配置的日志系统 | → |
trace | python -m trace --trace script.py | 程序执行追踪 | → |
unittest | python -m unittest test_module.py | 单元测试框架(对标 C 的 Unity/Check) | → |
doctest | python -m doctest -v module.py | 从 docstring 提取并运行测试 | → |
代码工具
| 库名 | python -c 快速用法 | 说明 | 详细链接 |
|---|
ast | python -c "import ast; print(ast.dump(ast.parse('x=1')))" | 抽象语法树解析——Python 代码的”内窥镜” | → |
dis | python -c "import dis; dis.dis(compile('x=1+2','','exec'))" | 字节码反汇编(Python 的”objdump”) | → |
inspect | python -c "import inspect; print(inspect.getsource(print))" | 运行时类型/源码检查(反射) | → |
types | python -c "import types; print(types.FunctionType)" | 动态类型创建与类型对象 | → |
typing | python -c "from typing import List; x: List[int] = []" | 类型注解支持(C 工程师的”静态检查”) | → |
第三方库
Python 的真正战力来自 PyPI(Python Package Index)上 40 万+ 第三方包。
以下精选 15 个领域约 50 个核心库。详细一行流用法见 第三方索引。
网络请求
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
requests | pip install requests | HTTP for Humans,比 urllib 好用百倍 | → |
httpx | pip install httpx | 新一代 HTTP 客户端,支持 async/await | → |
urllib3 | pip install urllib3 | requests 的底层 HTTP 库 | → |
aiohttp | pip install aiohttp | 异步 HTTP 客户端/服务器 | → |
解析与爬虫
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
beautifulsoup4 | pip install beautifulsoup4 | HTML/XML 解析,爬虫标配 | → |
lxml | pip install lxml | 高性能 XML/HTML 解析(底层用 C libxml2) | → |
scrapy | pip install scrapy | 全功能爬虫框架 | → |
parsel | pip install parsel | scrapy 的 CSS/XPath 选择器独立版 | → |
命令行工具
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
click | pip install click | 命令行接口框架(Flask 作者出品) | → |
rich | pip install rich | 终端富文本:彩色输出、表格、进度条 | → |
typer | pip install typer | 基于类型注解的 CLI 框架(click + type hints) | → |
tqdm | pip install tqdm | 进度条,一行包装任意可迭代对象 | → |
数据处理
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
numpy | pip install numpy | 多维数组与数值计算,底层 C/Fortran | → [[../../6量化分析/ |
pandas | pip install pandas | 表格/数据集操作,DataFrame | → [[../../6量化分析/ |
图像
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
pillow | pip install pillow | Python Imaging Library 复刻,图像读写/处理 | → [[../../9图形处理/ |
opencv-python | pip install opencv-python | 计算机视觉库(底层 C++),与 C 互操作 | → [[../../9图形处理/ |
Web 框架
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
flask | pip install flask | 轻量级 Web 微框架,路由/模板/Jinja2 | → [[../../10web应用/ |
fastapi | pip install fastapi | 高性能异步 Web 框架,自动生成 OpenAPI | → [[../../10web应用/ |
django | pip install django | 全栈 Web 框架,ORM/管理后台/认证 | → [[../../10web应用/ |
机器学习
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
scikit-learn | pip install scikit-learn | 经典机器学习算法,底层 C/Cython | → [[../../11人工智能/ |
torch | pip install torch | PyTorch 深度学习框架(底层 C++/CUDA) | → [[../../11人工智能/ |
tensorflow | pip install tensorflow | Google 深度学习框架(底层 C++/CUDA) | → [[../../11人工智能/ |
可视化
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
matplotlib | pip install matplotlib | 2D 绘图标准库,出版级图表 | → [[../../8数据可视化/ |
seaborn | pip install seaborn | 基于 matplotlib 的统计可视化 | → [[../../8数据可视化/ |
plotly | pip install plotly | 交互式图表,支持 3D/Web | → [[../../8数据可视化/ |
量化
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
backtrader | pip install backtrader | 回测框架,策略开发与优化 | → [[../../6量化分析/ |
akshare | pip install akshare | A 股数据接口,一行拉取行情/财务 | → [[../../6量化分析/ |
科学计算
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
scipy | pip install scipy | 优化/积分/信号处理/线性代数 | → [[../../7科学计算/ |
sympy | pip install sympy | 符号数学(符号求导/积分/方程求解) | → [[../../7科学计算/ |
跨语言(C ↔ Python)
| 库名 | 来源 | 说明 | 详细链接 |
|---|
ctypes | 标准库内置 | 加载 .so/.dll,调用 C 函数,零额外依赖 | → [[../2精通/05_ctypes:在Python中调用C库 |
cffi | pip install cffi | 比 ctypes 更灵活,支持 ABI/API 两种模式 | → [[../2精通/07_pybind11与Cython:给C_C++库披上Python外衣 |
pybind11 | pip install pybind11 | C++11 模板库,为 C++ 写 Python 绑定 | → [[../2精通/07_pybind11与Cython:给C_C++库披上Python外衣 |
cython | pip install cython | Python 超集,编译为 C 扩展 | → [[../2精通/07_pybind11与Cython:给C_C++库披上Python外衣 |
测试
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
pytest | pip install pytest | 现代测试框架,比 unittest 简洁十倍 | → |
hypothesis | pip install hypothesis | 基于属性的测试,自动生成测试用例 | → |
coverage | pip install coverage | 代码覆盖率检测(比 C 的 gcov 直接) | → |
工程
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
setuptools | 内置 / pip install setuptools | 打包/分发工具(setup.py) | → |
wheel | pip install wheel | 构建 .whl 分发包 | → |
build | pip install build | PEP 517 构建前端 | → |
twine | pip install twine | 上传包到 PyPI | → |
tox | pip install tox | 多 Python 版本自动化测试 | → |
数据库
| 库名 | 来源 | 说明 | 详细链接 |
|---|
sqlite3 | 标准库内置 | 嵌入式关系数据库(与 C 的 SQLite3 同源) | → |
sqlalchemy | pip install sqlalchemy | Python ORM 之王,支持 SQLite/PostgreSQL/MySQL | → |
psycopg2 | pip install psycopg2 | PostgreSQL 适配器(底层 C libpq) | → |
pymongo | pip install pymongo | MongoDB 驱动 | → |
redis | pip install redis | Redis 客户端 | → |
安全
| 库名 | pip 安装 | 说明 | 详细链接 |
|---|
cryptography | pip install cryptography | 现代密码学库(底层 C/OpenSSL) | → |
pyjwt | pip install pyjwt | JSON Web Token 编解码 | → |
passlib | pip install passlib | 密码哈希工具库 | → |
bcrypt | pip install bcrypt | bcrypt 哈希算法,密码存储 | → |
快速参考:按需求查找
| 需求 | 首选库 | 一句话说明 |
|---|
| 解析命令行参数启动子进程 | argparse + subprocess | C 工程师的”脚本化”利器 |
| 读写 JSON 配置文件 | json | Python ⇄ C 程序数据交换首选格式 |
| C 结构体二进制打包 | struct | struct.pack/unpack ⇄ C 的 fwrite/fread |
| 加载 C 的 .so 并调用函数 | ctypes | 标准库自带,零依赖 |
| 正则匹配/替换文本 | re | 比 C 的 regex.h 好用太多 |
| 启动 HTTP 文件服务器 | python -m http.server 8000 | 一行命令,无需 C 版 mongoose |
| 统计大量文本词频 | collections.Counter | 一行实现 C 中几十行的哈希表逻辑 |
| 排列组合/笛卡尔积 | itertools | C 没有的”生产力武器” |
| 拉取 A 股行情 | akshare | 一行代码拉完日线/财务数据 |
| 回测交易策略 | backtrader | 比 C 手写回测快 10 倍开发速度 |
| 画数据图表 | matplotlib | 一行 plt.plot() |
| 解析 HTML | beautifulsoup4 | 比 C 的 libxml2 简洁 |
| 数据库 ORM | sqlalchemy | Python 最成熟的数据库抽象层 |
| Web API 后端 | fastapi | 现代异步,自动文档 |
| 深度学习训练 | torch | C++/CUDA 底层,Python 接口 |
与其他模块的关联
练习
以下题目用于验证本章所学内容:
| 题号 | 题目 | 链接 | 涉及知识点 |
|---|
| — | 本章无对应力扣题 | — | 请用动手练习题自检 |