Напишите модуль Shutil на Python.

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

Guess you like

Origin blog.csdn.net/qq_44370158/article/details/131548735