当前位置:首页>python>Python文件操作,让我删库跑路的心都有了

Python文件操作,让我删库跑路的心都有了

  • 2026-10-11 08:14:00
Python文件操作,让我删库跑路的心都有了

pathlib + shutil + glob

文件操作的瑞士军刀

优雅10倍

1、pathlib — 路径操作(取代 os.path)

from pathlib import Path# 路径拼接(跨平台兼容)base = Path("/Users/rose/Desktop")report = base / "reports" / "2026" / "sales.xlsx"# 查询属性print(report.exists())      # 文件是否存在print(report.is_file())     # 是否是文件print(report.is_dir())      # 是否是目录print(report.suffix)        # ".xlsx"print(report.stem)          # "sales"print(report.parent)        # .../2026# 创建目录(Path("/tmp/demo") / "sub").mkdir(parents=True, exist_ok=True)# 读文件(简单场景)content = Path("readme.md").read_text(encoding="utf-8")

2、glob — 批量查找文件

from pathlib import Pathimport glob# 查找所有 .py 文件py_files = list(Path(".").rglob("*.py"))  # 递归print(len(py_files))# 查找特定模式csv_files = glob.glob("data/**/*.csv", recursive=True)  # 递归log_files = list(Path("/var/log").glob("*.log"))# 按修改时间筛选from datetime import datetime, timedeltarecent = [f for f in Path(".").rglob("*.py")          if datetime.now() - datetime.fromtimestamp(f.stat().st_mtime) < timedelta(days=7)]
3、shutil — 文件移动/复制/删除
import shutilfrom pathlib import Path# 复制文件shutil.copy("source.txt", "dest.txt")# 复制目录shutil.copytree("src_folder", "dst_folder")# 移动文件/目录shutil.move("old_path", "new_path")# 删除文件(不用os.remove)Path("temp.txt").unlink()# 安全删除(移到回收站,谨慎操作)# pip install send2trashfrom send2trash import send2trashsend2trash("old_file.xlsx")  # 进回收站,可恢复!
4、批量重命名实战
from pathlib import Path# 批量给文件加前缀for f in Path(".").glob("*.txt"):    new_name = f"backup_{f.name}"    f.rename(f.parent / new_name)# 批量修改扩展名for f in Path(".").glob("*.jpeg"):    f.rename(f.with_suffix(".jpg"))# 批量移动到分类目录images = Path(".").glob("*.png")for img in images:    dest = Path("images") / img.name    dest.parent.mkdir(exist_ok=True)    shutil.move(str(img), str(dest))
5、压缩/解压
import shutil# 压缩(.zip)shutil.make_archive("backup_2026", "zip", "my_folder")# 压缩(.tar.gz)shutil.make_archive("backup_2026", "gztar", "my_folder")# 解压shutil.unpack_archive("backup_2026.zip", extract_dir="extracted")
☆☆☆ End ☆☆☆转角  ·  遇见  ·  程序猿
-------------------------
那是一抹淡淡的微光

它是数字世界里的一把杀猪刀

却总能巧夺天工

它的世界是纯粹0、1组合

却总能创造无尽幻想

......

本公众号关注数据价值分析、编程学习,将不定期更新社会热点数据分析结果、编程技巧,分享数据分析工具、方法、学习等内容,欢迎有兴趣的小伙伴加入。

最新文章

随机文章