📦 Python 标准库 - shutil
模块(文件与目录高级操作)
📌 模块用途简介
shutil
(shell utilities)用于对文件、文件夹进行复制、移动、删除、压缩等操作,是文件操作中非常重要的工具库。
常见功能包括:
- 拷贝文件和目录
- 移动或重命名文件
- 删除目录树
- 压缩与解压缩
📁 1️⃣ 拷贝文件 shutil.copy(src, dst)
复制文件到新位置,保留原文件名。
shutil.复制("源.txt", "备份.txt")
📌 copy()
不会保留文件权限等元信息。
📂 2️⃣ 复制文件和权限 shutil.copy2(src, dst)
与 copy()
类似,但保留文件的元数据(如时间戳)。
shutil.复制2("原.txt", "完整复制.txt")
📚 3️⃣ 拷贝整个目录 shutil.copytree(src, dst)
递归复制整个目录及其内容(注意:目标目录不能存在)。
shutil.复制树("模板目录", "新项目")
🚚 4️⃣ 移动或重命名 shutil.move(src, dst)
可以移动文件或整个目录,也可用于重命名。
shutil.移动("文件A.txt", "归档/文件A.txt")
🗑️ 5️⃣ 删除目录树 shutil.rmtree(path)
彻底删除整个目录及其所有子文件和子目录(慎用)。
shutil.rmtree("临时目录")
📦 6️⃣ 压缩文 件 shutil.make_archive()
创建压缩包(支持 zip、tar 等格式)。
shutil.make_archive("备份", "zip", "源目录")
生成的结果为:备份.zip
📃 7️⃣ 解压文件 shutil.unpack_archive()
自动解压 .zip
, .tar
, .gztar
等压缩包到目标文件夹。
shutil.unpack_archive("备份.zip", "还原目录")
✅ 小结表
功能 | 方法名 | 说明 |
---|---|---|
复制文件 | copy(src, dst) | 普通文件复制 |
复制含元信息 | copy2(src, dst) | 带时间等元信息的复制 |
复制目录 | copytree(src, dst) | 递归复制目录 |
移动/重命名 | move(src, dst) | 移动文件或文件夹 |
删除目录 | rmtree(path) | 彻底删除文件夹(包括内容) |
打包压缩 | make_archive() | 将目录打包成 zip 等格式 |
解包 | unpack_archive() | 解压文件到指定位置 |