python标准库使用总结

标准库在线文档:

Python 标准库 --- Python 3.12.5 文档

Python 标准库

一句话:**Python 安装完自带的一堆模块 / 包,不需要 pip install,直接 import 就能用,这就是标准库。**它跟着 Python 解释器一起发布,跨平台(Windows / Linux / Mac / 嵌入式),文档统一,稳定性高。

和第三方库(requests、numpy)对比:第三方要 pip 装;标准库自带。

查看标准库清单

官方文档:Python 标准库 --- Python 3.15.2 文档

Ubuntu 下也可以看:

复制代码
python3 -m pydoc -b

会打开浏览器文档,里面 Built-in Modules、Library Reference 就是。

分类介绍常用标准库(挑你关心的,结合前面 HTTP、嵌入式、命令行)

1. 文本、字符串、编码

  • string:字符常量(大小写字母、数字)

  • re:正则表达式,文本匹配提取,非常高频

  • json:JSON 序列化 / 反序列化!嵌入式上报、HTTP 接口最常用

    复制代码
    import json
    data = {"name":"test"}
    s = json.dumps(data)
    d = json.loads(s)

2. 文件、路径、IO

  • os:操作系统接口,路径、创建文件夹、环境变量、执行命令
  • pathlib(推荐,Python3.4+):面向对象路径,比 os.path 优雅
  • io:内存文件流、缓冲 IO
  • shutil:文件复制、移动、删除目录

3. 时间、日期

  • time:时间戳、sleep、获取系统时间
  • datetime:日期时间计算、格式化
  • calendar:日历相关

4. 网络相关(重点!你前面关心 HTTP)

✅ http 包(标准库自带 HTTP 组件)

  • http.client:底层 HTTP 客户端(GET/POST,原生,没有 requests 好用)
  • http.server:简易 HTTP 服务器,python -m http.server 就是它!
  • http.cookies:cookie 处理

✅ urllib 包(标准库 HTTP 请求,不用装 requests)

  • urllib.request:发起 HTTP 请求(标准库原生 http 客户端)

    import urllib.request
    resp = urllib.request.urlopen("https://httpbin.org/get")
    print(resp.read())

对比:urllib 标准自带;requests 第三方封装,API 舒服很多。

  • urllib.parse:url 编码、拼接 url,拼接 get 参数很常用

✅ socket:最底层 BSD 套接字!TCP/UDP,和 C 的 socket API 思想几乎一致,嵌入式网络开发必看

✅ ssl:TLS 加密套接字,给 socket 加 HTTPS

✅ selectors / select:IO 多路复用(epoll/poll),写服务端、高并发网络

5. 进程、线程、异步

  • threading:多线程

  • multiprocessing:多进程

  • subprocess:调用外部程序(比如在 python 里调用 curl、wget,相当于 C 的 system/popen)

    import subprocess
    subprocess.run(["ls","-l"])

  • asyncio:Python 原生异步 IO 框架(写异步网络)

6. 数据结构、容器

  • collections:增强容器:deque、defaultdict、OrderedDict、Counter

  • heapq:堆

  • bisect:二分查找

  • array:基础类型数组(比 list 省内存,类似 C 数组)

  • struct:二进制打包解包!!嵌入式超级常用 把数字按指定字节序打包成 bytes,和单片机通信、解析二进制协议

    复制代码
    import struct
    buf = struct.pack("<H", 100) # 小端 uint16

7. 序列化

  • pickle:python 对象序列化(不要跨语言、不要解析不可信数据)
  • struct 上面说了,二进制协议
  • json:跨语言文本协议

8. 命令行、参数解析

  • sys:非常重要!解释器相关:sys.argv 命令行参数、sys.path、标准输入输出
  • argparse:命令行参数解析,做命令行工具
  • getopt:老版参数解析

9. 数学

  • math:浮点数数学函数
  • random:伪随机数
  • statistics:统计函数

10. 压缩、加密、哈希

  • hashlib:md5、sha256 哈希
  • zlib / gzip:压缩
  • secrets:安全随机数(代替 random 用于密钥)

11. 内置模块(built-in,连 import 都不用)

print、len、int、str、list 这些来自 builtins,是内置模块,不需要 import。

两个关键区分

  • 内置模块 (built-in) :C 写在解释器里面,import sys; import math
  • 标准库模块:一部分是 py 源码模块,一部分是 C 扩展模块(.so),都随 Python 自带

👉 标准库 ≠ 内置模块;内置模块是标准库的子集。

标准库 vs 第三方库(再次巩固)

  • 标准库:自带,import urllib / import json,零依赖,兼容性强;缺点:API 偏底层,简陋(urllib 比 requests 难用)
  • 第三方库:pip 安装,比如 requests、pyserial,封装更好、功能更强,但部署的时候要额外装包

一个小坑

标准库也分版本!Python3.8 和 Python3.12 的标准库有新增、废弃。比如一些旧模块被移除(如 urllib2,Python3 合并进 urllib)

相关推荐
青少儿编程课堂31 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:折半搜索优化子集枚举(Meet in the Middle)解析
c++·python·算法·bfs·信息学竞赛
用户956256254291 小时前
五分钟用 E2B SDK 打通沙箱:环境变量只改三行
python·api
用户95179422510291 小时前
最小循环:让 Agent 跑起来(I1)
python·agent
沉默小管2 小时前
上班鼓励器_桌宠版
python
SomeOtherTime2 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
duansamve2 小时前
Flask中视图函数接收请求数据和返回响应实例
python·flask
zh_xuan2 小时前
kotlin常见面试题
开发语言·kotlin·面试题
用户298698530143 小时前
用 Python 自动化把 JavaScript 代码转换为 Word 文档
javascript·python·api
用户019027581613 小时前
AlphaFeed 标的池(universes)全解:CN_Stock / CN_ETF 与权限边界
python