shutil模块:文件批量复制、移动、递归删除、压缩解压全实战

📅 2026/6/18 0:20:29
shutil模块:文件批量复制、移动、递归删除、压缩解压全实战
博客导语os模块只能处理单文件无法递归复制文件夹、批量移动、压缩文件shutil是os高阶补充模块覆盖日常99%批量文件操作兼容zip/tar主流压缩格式。一、文件复制三类方法shutil.copy()复制文件权限不复制元数据shutil.copy2()复制文件全部元数据修改时间、创建时间备份首选shutil.copytree()递归复制整个文件夹目标目录必须不存在二、文件移动与递归删除import shutil # 移动文件/文件夹等价剪切粘贴 shutil.move(src.txt,./target/) # 递归删除非空文件夹os.rmdir只能删空文件夹 shutil.rmtree(./old_dir)三、压缩与解压实战zip/tar# 文件夹压缩为zip shutil.make_archive(data_backup,zip,root_dir./data) # zip解压 shutil.unpack_archive(data_backup.zip,extract_dir./out)四、选型总结单文件增删、路径判断用os/os.path文件夹递归复制、移动、删除、压缩用shutil五、避坑点shutil不支持跨磁盘硬链接复制跨盘符移动文件底层是复制删除耗时会增加