ZetCode

Python shutil

最后修改:2025 年 2 月 15 日

在本文中,我们将介绍如何在Python中使用shutil模块。shutil模块提供了高级文件操作,例如复制、移动和删除文件及目录。它对于自动化文件管理任务特别有用。

shutil模块是Python标准库的一部分,因此无需额外安装。

复制文件

以下示例演示了如何使用shutil.copy函数复制文件。

main.py
import shutil

# Copy a file
shutil.copy('source.txt', 'destination.txt')
print("File copied successfully.")

在此程序中,使用shutil.copy函数将source.txt的内容复制到destination.txt。如果destination.txt不存在,它将被创建。

$ python main.py
File copied successfully.

复制目录

以下示例演示了如何使用shutil.copytree函数复制目录。

main.py
import shutil

# Copy a directory
shutil.copytree('source_dir', 'destination_dir')
print("Directory copied successfully.")

在此程序中,使用shutil.copytree函数将source_dir的全部内容复制到destination_dir。如果destination_dir不存在,它将被创建。

$ python main.py
Directory copied successfully.

移动文件和目录

以下示例演示了如何使用shutil.move函数移动文件或目录。

main.py
import shutil

# Move a file
shutil.move('source.txt', 'destination.txt')
print("File moved successfully.")

# Move a directory
shutil.move('source_dir', 'destination_dir')
print("Directory moved successfully.")

在此程序中,使用shutil.move函数将source.txt移动到destination.txt,并将source_dir移动到destination_dir

$ python main.py
File moved successfully.
Directory moved successfully.

删除目录

以下示例演示了如何使用shutil.rmtree函数删除目录。

main.py
import shutil

# Delete a directory
shutil.rmtree('directory_to_delete')
print("Directory deleted successfully.")

在此程序中,使用shutil.rmtree函数删除directory_to_delete及其所有内容。

$ python main.py
Directory deleted successfully.

归档文件和目录

以下示例演示了如何使用shutil.make_archive函数创建归档(例如,ZIP文件)。

main.py
import shutil

# Create a ZIP archive
shutil.make_archive('archive', 'zip', 'source_dir')
print("Archive created successfully.")

在此程序中,使用shutil.make_archive函数创建source_dir的ZIP归档。

$ python main.py
Archive created successfully.

来源

Python shutil - 文档

在本文中,我们介绍了如何在Python中使用shutil模块进行高级文件操作。shutil模块是自动化文件管理任务的强大工具。

作者

我叫Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我从2007年开始撰写编程文章。迄今为止,我已撰写了1400多篇文章和8本电子书。我在编程教学方面拥有十多年的经验。

列出所有 Python 教程