shutil
模块是 Python 标准库中用于执行高级文件操作的模块,它提供了许多用于复制、移动、删除文件和目录的函数。以下是该模块中常用的一些函数:
shutil.copy(src, dst, *, follow_symlinks=True)
:将文件从源路径复制到目标路径。shutil.copy2(src, dst, *, follow_symlinks=True)
:类似于shutil.copy()
,但是还复制了原始文件的元数据(如访问时间和修改时间)。shutil.copytree(src, dst, symlinks=False, ignore=None, copy_function=copy2, ignore_dangling_symlinks=False)
:将目录从源路径递归复制到目标路径。shutil.move(src, dst, copy_function=copy2)
:将文件或目录从源路径移动到目标路径。shutil.rmtree(path, ignore_errors=False, onerror=None)
:删除指定路径的目录,包括其中的所有文件和子目录。shutil.make_archive(base_name, format, root_dir=None, base_dir=None, verbose=0, dry_run=False, owner=None, group=None, logger=None)
:创建一个压缩文件,支持多种格式(如 zip、tar 等)。
以下是一个简单的示例,演示了如何使用 shutil
模块复制文件和目录:
import shutil
# 复制文件
shutil.copy("file1.txt", "file2.txt")
# 复制目录
shutil.copytree("dir1", "dir2")
在这个例子中,我们首先导入 shutil
模块。然后,我们使用 shutil.copy()
函数将 file1.txt
文件复制到 file2.txt
文件中。接下来,我们使用 shutil.copytree()
函数将 dir1
目录递归地复制到 dir2
目录中。
需要注意的是,shutil
模块的一些函数在执行时具有破坏性,因此在使用之前应该仔细考虑。例如,shutil.rmtree()
函数会删除指定路径的目录及其中的所有文件和子目录,如果操作不当可能会造成数据丢失。