Boltons(发音类似 /ˈbəʊltənz/)其实就是一堆 纯 Python、BSD 许可证 的实用工具,专门补齐标准库的“空缺”。它不是什么框架,也不是什么大型库——只是一堆函数、类、模块,随取随用,几乎没有依赖。
| 典型痛点 | 没有 Boltons 时你会怎么干 | 有了 Boltons 的解决方案 |
|---|---|---|
| 文件保存不安全 | 先写临时文件,再手动搬过去,出错风险大 | fileutils.atomic_save<br />自动保障原子写入 |
| 有序字典只能存键 | 用OrderedDict+ 手写逻辑 | dictutils.OrderedMultiDict<br />支持同键多值且保持顺序 |
| 优先队列只能单一实现 | 自己写堆或用queue.PriorityQueue,功能受限 | queueutils.HeapPriorityQueue<br />/SortedPriorityQueue两种实现随意切换 |
| 迭代切片太麻烦 | 手写循环或itertools.islice,代码冗长 | iterutils.chunked<br />、iterutils.windowed一行搞定 |
| 递归合并深层结构 | 用递归函数层层遍历,容易漏掉 | iterutils.remap<br />一键完成嵌套映射 |
| 异常追踪信息不全 | 只打印traceback.print_exc(),细节少 | tbutils.TracebackInfo<br />把调用栈、局部变量、源码全部打包 |
简而言之,Boltons 把很多“自己写一次又一次”的小工具直接搬进来,省时省力,还不需要额外装别的库。
Boltons Python工具库 标准库扩展 实用工具函数 原子文件操作 多值有序字典
Boltons是一个纯Python工具集,提供常用函数和类,填补标准库的不足。它简化文件操作、字典管理、队列处理等任务,无需依赖其他库,让开发更高效省时。