Курс Python → Работа с файлами в Python
Модуль shutil в Python предоставляет разработчикам мощный инструмент для обработки файлов. Несмотря на свое смешное название, эта библиотека является неотъемлемой частью стандартной библиотеки Python и предлагает широкие возможности для работы с файловой системой. В отличие от модуля os, который также используется для работы с файлами, shutil предоставляет более высокоуровневые функции, что делает код более красивым и эффективным.
Одним из примеров использования модуля shutil является функция copyfileobj, которая копирует содержимое одного файла в другой. Это может быть полезно, если вам нужно создать копию файла или перенести данные из одного файла в другой. Также с помощью функции copymode можно скопировать права доступа из одного файла в другой, а функция copystat позволяет скопировать метаданные файла, такие как дата последнего доступа и изменения.
Кроме работы с отдельными файлами, модуль shutil также предоставляет возможность работы с архивами. Например, функция get_archive_formats позволяет узнать доступные форматы архивов, с которыми можно работать. Это может быть полезно, если вам нужно создать архив или извлечь данные из архива.
import shutil
# Пример использования функции copyfileobj
with open('source.txt', 'rb') as fsrc:
with open('destination.txt', 'wb') as fdst:
shutil.copyfileobj(fsrc, fdst)
# Пример использования функции copystat
shutil.copystat('source.txt', 'destination.txt')
# Пример использования функции get_archive_formats
formats = shutil.get_archive_formats()
print(formats)
Таким образом, модуль shutil предоставляет разработчикам удобные инструменты для работы с файлами и архивами в Python. Комбинирование функций из модулей os и shutil позволяет создавать эффективный и чистый код, который облегчает работу с файловой системой и архивами.
Другие уроки курса "Python"
- Проверка вхождения подстроки
- Преобразование текста в нижний регистр
- Возврат нескольких значений
- Метод invert для побитового отрицания
- Объединение списков в Python
- Измерение времени выполнения кода в Python
- Именованные кортежи в Python
- Создание OrderedDict
- Модуль math: константы π и e
- Методы shutil для работы с файлами
- Управление контекстом выполнения
- Numpy: разбиение массивов
- Создание циклической ссылки
- Изменение объектов в Python
- Обработка ошибок в Python
- Метод getitem для доступа к элементам последовательности
- Отношения подклассов в Python
- Область видимости переменных
- Передача аргументов в Python
- Создание namedtuple из словаря
- Метод bool() в Python
- Вставка переменных в шаблоны Flask
- Работа с изменяемыми списками
- Логические значения в Python
- Явный импорт в Python
- Создание генераторов в Python
- Работа со слайсами
- Удаление элемента из списка в Python
- Преобразование чисел в слова
- Разделение списка на гнппы
- Создание новых функций через partial
- Получение ID процесса
- Изменение логики работы с временем
- Python Translator: создание локальных переводчиков
- Преобразование регистра символов
- Добавление элементов в список: append() vs extend()
- Функции с дополнением
- 9 уловок для чистого кода
- Оператор in в Python
- Инициализация переменных
- Метод radd для пользовательских чисел
- Concrete Paths — метод .with_suffix()
- Преобразование данных в Python
- Метод ipow для возведения в степень
- Удаление ключа из словаря в Python
- Функции в одну строку















