共计 977 个字符,预计需要花费 3 分钟才能阅读完成。
在上一节中,我们学习了如何通过 os 模块进行文件路径的处理与判断。但在实际开发中,我们往往需要更高级的文件和目录操作,比如复制、移动、压缩文件等。这些功能可以通过 Python 的 shutil 模块来实现。
shutil 模块是 Python 提供的一个高级文件操作库,常见功能包括文件复制、文件移动、目录删除和压缩解压等。
常用方法如下:
- 复制文件
import shutil
# 复制文件
shutil.copy("data.txt", "backup_data.txt")
print(" 文件已复制 ")
shutil.copy(src, dst) 会将文件内容和权限信息复制到新的路径。
- 复制目录
shutil.copytree("my_folder", "backup_folder")
print(" 目录已复制 ")
shutil.copytree(src, dst) 会递归复制整个目录,包括其中的所有文件和子目录。
- 移动文件或目录
shutil.move("backup_data.txt", "archive/backup_data.txt")
print(" 文件已移动 ")
shutil.move(src, dst) 可以移动文件,也可以移动目录。
- 删除目录
shutil.rmtree("backup_folder")
print(" 目录已删除 ")
shutil.rmtree(path) 会递归删除整个目录及其内容。需要谨慎使用。
- 压缩与解压缩
# 创建压缩包
shutil.make_archive("project_backup", "zip", "my_folder")
# 解压缩
shutil.unpack_archive("project_backup.zip", "restored_folder")
shutil.make_archive(base_name, format, root_dir) 可以将目录打包成 zip、tar 等格式;shutil.unpack_archive(filename, extract_dir) 可以解压缩文件。
这些操作在自动化运维、数据备份、项目打包中都非常有用。
练习与思考:
- 编写一个程序,将当前目录下的所有
.txt文件复制到一个名为backup的目录中。 - 尝试将某个项目文件夹打包成 zip 压缩包,并解压到新的目录。
- 写一个脚本,先判断文件是否存在,如果存在则备份到指定文件夹中,否则提示文件未找到。
正文完