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()
функция удалит каталог по указанному пути и все файлы и подкаталоги в нем, что может привести к потере данных, если операция не будет выполнена должным образом.