В этой статье вы узнаете 10 основных функций, которые позволят вам работать с файловыми операциями высокого уровня с помощью встроенной библиотеки shutil в Python.
Введение
Во-первых, модуль shutil в Python предоставляет множество функций для выполнения высокоуровневых операций с файлами и коллекциями файлов.
Во — вторых, это встроенный модуль, который поставляется с в процессе установки языка программирования Python.
В-третьих, этот модуль также заботится о низкоуровневой семантике, такой как создание или закрытие файлов после их копирования и фокусировка на бизнес-логике.
Основная документации по этому модулю находится на оффициальном сайте Python.
Основной синтаксис для использования модуля shutil выглядит следующим образом:
Метод shutil.copy
shutil.copy это функция используется для копирования содержимого или текста исходного файла в конечный файл или каталоги. Она также сохраняет режим разрешений файла, но другой тип метаданных файла, такой как создание файла и его модификация, не сохраняется.
Пример написания кода:
Вывод программы:
Объяснение: В этом коде, во-первых, я проверяю файлы, присутствующие в каталоге. Во-вторых, я печатаю права доступа к файлу и даю исходный путь к файлу. В-третьих, я даю путь назначения копии содержимого там в новом файле. Наконец, я снова распечатываю все файлы в каталоге и проверяю, была ли создана копия этого файла или нет.
Метод shutil.copy2
Если что, эта функция точно такая же, как функция copy(), за исключением того, что она поддерживает метаданные исходного файла.
Программируем:
Вывод программы:
Объяснение: В этом коде я написал функцию copy2 — это то же самое, что и copy, просто она выполняет одну дополнительную операцию, которая поддерживает метаданные.
Метод shutil.copyfile
В этом файле функции копируются имена, что означает, что исходный файл копируется по указанному имени в том же каталоге. Файл сообщает, что дубликат файла присутствует в том же каталоге.
Вывод программы:
Объяснение: В этом коде я написал функцию copyfile, то же имя файла копируется для нового файла, просто копия добавляется в новое имя файла. Смотрите в выходных данных.
Метод shutil.copytree
Эта функция копирует файл и подкаталоги из одного каталога в другой. Это означает, что файл присутствует как в источнике, так и в месте назначения. Имена обоих параметров должны быть в строке.
Рассмотрим пример:
Вывод программы:
Объяснение: В этом коде я написал функцию copytree, чтобы получить дубликат этого файла.
Метод shutil.rmtree
Эта функция используется для удаления конкретного файла и подкаталога из указанного каталога, что означает, что каталог удаляется из системы.
Пишем код:
Вывод программы:
Объяснение: В этом коде я написал функцию rmtree, которая используется для удаления файла или каталога. Во-первых, я перечислил все файлы и применил функцию удаления, а затем снова перечислил файл, чтобы увидеть, удален он или нет.
Метод shutil.which
Функция which — это отличный инструмент, который используется для поиска пути к файлу в вашем компьютере, чтобы легко добраться до конкретного места назначения, зная название файла.
Пишем:
Вывод программы:
Объяснение: В этом коде я написал функцию which, чтобы при необходимости найти любой из файлов.
Метод shutil.disk_usage
Эта функция используется для того, чтобы понять, сколько информации присутствует в нашей файловой системе, просто вызвав функцию disk_usage.
Рассмотрим пример:
Вывод программы:
Объяснение: В этом коде я написал функцию disk_usage, чтобы узнать об общем, используемом и свободном дисковом пространстве.
Метод shutil.move
Эта функция используется для перемещения файла и каталога из одного каталога в другой и удаления его из предыдущего каталога. Её также можно назвать переименованием файла или каталога.
Очень простой код:
Вывод программы:
Объяснение: В этом коде я написал функцию move для перемещения файла или каталога из одного места в другое.
Метод shutil.make_archive
Эта функция используется для создания архива (zip или tar) файлов в корневом каталоге.
Пишем программу:
Вывод программы:
Объяснение: В этом коде я написал функцию make_archive с сообщением им имени исходного каталога для создания архива файлов в исходном каталоге.
Метод shutil.get_archive_formats
Эта функция дает нам все поддерживаемые форматы архивов в файле или каталоге.
Вот пример:
Вывод программы:
Объяснение: В этом коде я написал функцию get_archive_formats, чтобы получить вспомогательные форматы архивов в файле или каталоге.
Преимущества модуля
Вот 2 существенных плюса:
- Модуль shutil поможет вам в автоматизации копирования файлов и каталогов.
- Этот модуль сохраняет шаги открытия, чтения, записи и закрытия файлов, когда фактической обработки нет, просто перемещая файлы.
Заключение
В этой статье вы изучили множество типов операций, которые позволяют нам работать с файловыми операциями высокого уровня, такими как копирование содержимого файла, создание новой копии файла и т.д. без погружения в сложные операции обработки файлов с помощью модуля shutil в Python.
Счастливого программирования!