📦 Python 内置但非常用库
以下是 Python 中 10 个“非常用”但非常实用的标准库,适合在特定场景中提高开发效率:
🧩 10 个常用但不常听的内置库
库名 | 英文名称 | 功 能简介 |
---|---|---|
队列 | queue | 线程安全的队列,用于多线程任务通信 |
日程 | sched | 定时任务调度 |
临时文件 | tempfile | 创建临时文件和目录 |
枚举 | enum | 定义枚举类型 |
堆 | heapq | 实现最小堆结构 |
双端队列 | collections.deque | 高效双端队列 |
配置解析 | configparser | 读取 .ini 配置文件 |
拷贝 | copy | 支持浅拷贝和深拷贝 |
uuid | uuid | 生成全局唯一标识符 |
bz2 压缩 | bz2 | 支持 .bz2 格式文件压缩与解压 |
队列 (queue
)
线程之间安全地传递任务。
导入 queue
任务队列 = queue.Queue()
任务队列.put("任务1")
打印(任务队列.get())
日程 (sched
)
定时运行任务。
导入 sched, time
调度 = sched.scheduler(time.time, time.sleep)
定 打印任务():
打印("定时任务执行")
调度.enter(3, 1, 打印任务) # 3 秒后执行
调度.run()
临时文件 (tempfile
)
安全创建临时文件或目录。
导入 tempfile
管 tempfile.NamedTemporaryFile(delete=False) 作为 文件:
文件.write(b"临时数据")
打印(文件.name)
枚举 (enum
)
定义具名常量。
从 enum 导入 Enum
类 方向(Enum):
上 = 1
下 = 2
打印(方向.上, 方向.上.value)
堆 (heapq
)
高效最小堆结构。
导入 heapq
列表 = [5, 2, 7]
heapq.heapify(列表)
打印(heapq.heappop(列表)) # 输出 2
双端队列 (collections.deque
)
两端高效入出队。
从 collections 导入 deque
dq = deque([1,2,3])
dq.appendleft(0)
dq.append(4)
打印(dq)
配置解析 (configparser
)
读取 .ini
格式配置。
导入 configparser
cp = configparser.ConfigParser()
cp.read("settings.ini", encoding="utf-8")
打印(cp["DEFAULT"]["用户名"])
拷贝 (copy
)
支持深拷贝与浅拷贝。
导入 copy
原 = [1, [2,3]]
浅 = copy.copy(原)
深 = copy.deepcopy(原)
9. uuid (uuid
)
生成全局唯一 ID。
导入 uuid
打印(uuid.uuid4())
压缩 (bz2
)
读写 .bz2
格式文件。
导入 bz2
与 bz2.open("data.bz2", "wb") 作为 f:
f.write(b"压缩内容")