Модуль shutil и его 10 главных методов

Модуль shutil и его 10 методов, которые вы должны знать

В этой статье вы узнаете 10 основных функций, которые позволят вам работать с файловыми операциями высокого уровня с помощью встроенной библиотеки shutil в Python.

Введение

Во-первых, модуль shutil в Python предоставляет множество функций для выполнения высокоуровневых операций с файлами и коллекциями файлов.

Во — вторых, это встроенный модуль, который поставляется с в процессе установки языка программирования Python.

В-третьих, этот модуль также заботится о низкоуровневой семантике, такой как создание или закрытие файлов после их копирования и фокусировка на бизнес-логике.

Основная документации по этому модулю находится на оффициальном сайте Python.

Основной синтаксис для использования модуля shutil выглядит следующим образом:

Модуль shutil и его 10 главных методов

Метод shutil.copy

shutil.copy это функция используется для копирования содержимого или текста исходного файла в конечный файл или каталоги. Она также сохраняет режим разрешений файла, но другой тип метаданных файла, такой как создание файла и его модификация, не сохраняется.

Пример написания кода:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде, во-первых, я проверяю файлы, присутствующие в каталоге. Во-вторых, я печатаю права доступа к файлу и даю исходный путь к файлу. В-третьих, я даю путь назначения копии содержимого там в новом файле. Наконец, я снова распечатываю все файлы в каталоге и проверяю, была ли создана копия этого файла или нет.

Метод shutil.copy2

Если что, эта функция точно такая же, как функция copy(), за исключением того, что она поддерживает метаданные исходного файла.

Программируем:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию copy2 — это то же самое, что и copy, просто она выполняет одну дополнительную операцию, которая поддерживает метаданные.

Метод shutil.copyfile

В этом файле функции копируются имена, что означает, что исходный файл копируется по указанному имени в том же каталоге. Файл сообщает, что дубликат файла присутствует в том же каталоге.

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию copyfile, то же имя файла копируется для нового файла, просто копия добавляется в новое имя файла. Смотрите в выходных данных.

Метод shutil.copytree

Эта функция копирует файл и подкаталоги из одного каталога в другой. Это означает, что файл присутствует как в источнике, так и в месте назначения. Имена обоих параметров должны быть в строке.

Рассмотрим пример:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию copytree, чтобы получить дубликат этого файла.

Метод shutil.rmtree

Эта функция используется для удаления конкретного файла и подкаталога из указанного каталога, что означает, что каталог удаляется из системы.

Пишем код:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию rmtree, которая используется для удаления файла или каталога. Во-первых, я перечислил все файлы и применил функцию удаления, а затем снова перечислил файл, чтобы увидеть, удален он или нет.

Метод shutil.which

Функция which — это отличный инструмент, который используется для поиска пути к файлу в вашем компьютере, чтобы легко добраться до конкретного места назначения, зная название файла.

Пишем:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию which, чтобы при необходимости найти любой из файлов.

Метод shutil.disk_usage

Эта функция используется для того, чтобы понять, сколько информации присутствует в нашей файловой системе, просто вызвав функцию disk_usage.

Рассмотрим пример:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию disk_usage, чтобы узнать об общем, используемом и свободном дисковом пространстве.

Метод shutil.move

Эта функция используется для перемещения файла и каталога из одного каталога в другой и удаления его из предыдущего каталога. Её также можно назвать переименованием файла или каталога.

Очень простой код:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию move для перемещения файла или каталога из одного места в другое.

Метод shutil.make_archive

Эта функция используется для создания архива (zip или tar) файлов в корневом каталоге.

Пишем программу:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию make_archive с сообщением им имени исходного каталога для создания архива файлов в исходном каталоге.

Метод shutil.get_archive_formats

Эта функция дает нам все поддерживаемые форматы архивов в файле или каталоге.

Вот пример:

Модуль shutil и его 10 главных методов

Вывод программы:

Модуль shutil и его 10 главных методов

Объяснение: В этом коде я написал функцию get_archive_formats, чтобы получить вспомогательные форматы архивов в файле или каталоге.

Преимущества модуля

Вот 2 существенных плюса:

  • Модуль shutil поможет вам в автоматизации копирования файлов и каталогов.
  • Этот модуль сохраняет шаги открытия, чтения, записи и закрытия файлов, когда фактической обработки нет, просто перемещая файлы.

Заключение

В этой статье вы изучили множество типов операций, которые позволяют нам работать с файловыми операциями высокого уровня, такими как копирование содержимого файла, создание новой копии файла и т.д. без погружения в сложные операции обработки файлов с помощью модуля shutil в Python.

Счастливого программирования!

Егор Егоров

Программирую на Python с 2017 года. Люблю создавать контент, который помогает людям понять сложные вещи. Не представляю жизнь без непрерывного цикла обучения, спорта и чувства юмора.

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий