【Python 工具人快餐 · 第 1 份】
开袋即食
pathlib 把「路径」变成面向对象的小机器人:
/
运算符拼路径,.open()
读写文件,.glob()
递归搜索,全部自带跨平台滤镜。
1 行代码 3 连发
from pathlib import Pathp = Path('docs') / 'report' / '2024' / 'Q2.txt' # 跨平台拼接
p.write_text('done', encoding='utf-8') # 写文件
txt_files = list(p.parent.glob('*.txt')) # 同级所有 txt
场景实拍:批量改后缀
需求:把当前目录下所有 .jpeg
改成 .jpg
,并统计成功数量。
from pathlib import Pathrenamed = [f.rename(f.with_suffix('.jpg'))for f in Path.cwd().glob('*.jpeg')]
print(f"Renamed {len(renamed)} files")
一行循环 + with_suffix
搞定;Windows / macOS / Linux 通杀。
升级加料
- 只想要文件名不要扩展:
f.stem
- 需要绝对路径:
f.resolve()
- 递归搜索子目录:
rglob('*.py')
打包带走 :记住:Path
就是路径界的 f-string, /
一敲,烦恼全消!