编程学习网 > 编程语言 > Python > 7 个相见恨晚的 Python 库:让代码更清爽,效率直接拉满!
2026
08-24

7 个相见恨晚的 Python 库:让代码更清爽,效率直接拉满!


Python 久了以后,你会发现真正提升效率的,不一定是复杂框架。很多时候,一个顺手的小库、一个标准库里的工具,就能让原本啰嗦的代码变得干净很多。今天整理 7 组非常值得放进日常工具箱里的 Python 库。

它们覆盖文件处理、日志、命令行参数、数据结构、并发任务、配置读写和命令行体验。

如果你经常写脚本、做数据处理、跑自动化任务,这篇可以收藏起来慢慢用。
PART 01一、pathlib:文件路径不再靠字符串硬拼

以前写文件路径,很多人习惯用 os.path

它当然能用,但代码经常会变得比较碎:拼路径、判断目录、创建文件夹、读写文件,都要分开处理。

pathlib 的好处是把路径当成对象。

路径拼接、目录创建、文件读写都能用更直观的方式完成。

代码开始:

from pathlib import Path

p = Path("data") / "result.txt"

p.parent.mkdir(exist_ok=True)

p.write_text("Hello, Python!", encoding="utf-8")

代码结束。

这段代码完成了三件事:

定位 data/result.txt

确保 data 目录存在;

把文本写入文件。

相比手动拼字符串,Path 对象更清晰,也更不容易写错路径分隔符。

常用方法还包括:

glob():按规则查找文件。

iterdir():遍历目录内容。

exists():判断路径是否存在。

read_text():读取文本文件。

write_text():写入文本文件。

PART 02二、logging:别再用 print 当日志系统

调试阶段用 print 很方便。

但项目一旦变复杂,print 就会开始失控:

不知道信息级别;

不方便写入文件;

上线前删来删去;

出错后很难追踪上下文。

logging 更适合做正式日志。

它支持 DEBUGINFOWARNINGERRORCRITICAL 等不同级别,也可以把日志写到文件中。

代码开始:

import logging

logging.basicConfig(

    level=logging.INFO,

    filename="app.log",

    format="%(asctime)s %(levelname)s: %(message)s"

)

 

logging.info("程序启动")

代码结束。

运行后,日志会按指定格式写入 app.log

当你想排查程序什么时候启动、哪里报错、执行到了哪一步时,logging 会比 print 稳太多。

PART 03三、argparse:让脚本拥有专业命令行参数

很多脚本最开始只是临时工具。

后来参数越来越多,就开始在 sys.argv 里手动拆字符串。

这种写法很容易乱。

argparse 可以帮你优雅地处理命令行参数。

它自带帮助说明,支持默认值、必填参数、可选参数和类型转换。

代码开始:

import argparse

parser = argparse.ArgumentParser()

parser.add_argument("input", help="输入文件路径")

parser.add_argument("-o", "--output", default="out.txt")

args = parser.parse_args()

print(args.input, args.output)

代码结束。

运行:

python script.py -h

命令行会自动生成帮助说明。

这对经常写数据处理脚本、自动化脚本的人非常实用。

PART 04四、collections itertools:标准库里的效率神器

Python 标准库里藏着很多好东西。

其中 collections itertools 是非常值得熟悉的两组工具。

collections 提供了很多增强型数据结构,例如:

Counter:计数器。

defaultdict:带默认值的字典。

deque:高效双端队列。

namedtuple:轻量级结构化对象。

比如统计列表中出现最多的元素:

代码开始:

from collections import Counter

words = ["apple", "banana", "apple", "pear"]

print(Counter(words).most_common(1))

代码结束。

输出结果:

[("apple", 2)]

itertools 则适合处理迭代任务。

常见工具包括:

chain:拼接多个可迭代对象。

groupby:按规则分组。

combinations:生成组合。

product:生成笛卡尔积。

用好这两个库,可以少写很多临时变量和嵌套循环。

PART 05五、concurrent.futures:并发任务不用从零折腾

如果你要批量请求网页、处理文件、下载数据,串行执行通常很慢。

自己写 threading multiprocessing 又容易写复杂。

concurrent.futures 提供了更统一的并发接口。

如果是 I/O 密集任务,可以用 ThreadPoolExecutor

代码开始:

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=5) as pool:

    futures = [pool.submit(fetch, url) for url in urls]

 

    for future in futures:

        print(future.result())

代码结束。

如果是 CPU 密集任务,可以考虑 ProcessPoolExecutor

这套接口的好处是:

提交任务简单;

获取结果统一;

线程池和进程池切换成本低。

PART 06六、json yaml:配置与数据交换更顺手

写项目时,不建议把所有配置都硬编码在代码里。

更好的方式是把配置放在 JSON YAML 文件中。

json Python 标准库,适合数据交换。

yaml 通常通过 PyYAML 使用,适合写配置文件,可读性更强。

代码开始:

import json

import yaml

data = {

    "name": "Alice",

    "age": 30

}

# JSON

s1 = json.dumps(data, ensure_ascii=False, indent=2)

# YAML

s2 = yaml.safe_dump(data, allow_unicode=True)

代码结束。

如果你要和前端、接口服务、其他语言交互,JSON 很常见。

如果你要写项目配置、任务参数、模型参数,YAML 往往更舒服。

PART 07七、tqdm colorama:让命令行更有反馈

长时间运行的脚本,如果没有任何提示,用户体验会很差。

tqdm 可以给循环加进度条。

代码开始:

from tqdm import tqdm

for i in tqdm(range(10000)):

    process(i)

代码结束。

只需要包一层 tqdm,就能看到进度、耗时和预计剩余时间。

colorama 则可以给命令行输出加颜色。

代码开始:

from colorama import Fore

print(Fore.GREEN + "成功!" + Fore.RESET)

代码结束。

绿色表示成功,黄色表示警告,红色表示错误。

对于命令行工具、自动化脚本、批处理任务来说,这种反馈非常实用。

PART 08八、这 7 组库适合怎么用

如果你经常处理文件:

优先熟悉 pathlib

如果你在写长期运行的脚本:

尽早用 logging 替代 print

如果你的脚本需要别人运行:

argparse 管好参数。

如果你经常写循环、计数、组合逻辑:

多看看 collections itertools

如果任务可以并发执行:

试试 concurrent.futures

如果项目配置开始变多:

json yaml 用起来。

如果脚本运行时间较长:

tqdm colorama 给用户清晰反馈。

PART 09九、总结

7 Python 库不一定复杂,但非常实用:

pathlib 让文件操作更清晰。

logging 让调试和线上追踪更可靠。

argparse 让脚本更像正式工具。

collections itertools 让数据处理更优雅。

concurrent.futures 让并发任务更容易落地。

json yaml 让配置与数据交换更规范。

tqdm colorama 让命令行体验更友好。

它们就像 Python 开发中的常用工具箱。

不需要一次全部掌握,但每用熟一个,代码体验都会明显提升。

以上就是“7 个相见恨晚的 Python 库:让代码更清爽,效率直接拉满!的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。 

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取