Курс 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"

  1. Создание задания в Cron
  2. Изменение логики работы с временем
  3. Concrete Paths — метод .with_suffix()
  4. JSON в Python: модуль, dump, dumps, load
  5. Метод pop() списка
  6. Поиск индексов в списке
  7. Цикл while в Python
  8. Функция pow() — возвести число в степень
  9. Объединение словарей в Python 3.5+
  10. Работа с множествами в Python
  11. Работа с эмодзи в Python
  12. Генератор бросков кубиков
  13. Метод join() для объединения элементов строки
  14. Управление контекстом выполнения
  15. Моржовый оператор в Python 3.8
  16. Аргументы *args и **kwargs
  17. Подсчет элементов в списке с Counter
  18. Бинарный поиск
  19. Установка пакетов с помощью pip
  20. Считывание бинарного файла в Python
  21. Открытие, чтение и закрытие файла
  22. Значения по умолчанию в Python
  23. Парсинг статей с Newspaper3k
  24. Установка Home Assistant
  25. Статическая типизация в Python
  26. Вызов внешних программ в Python с помощью sh
  27. Защита данных в Python
  28. Работа с f-строками 2.0
  29. Метод Event.wait() в Python
  30. Принципы Zen Python
  31. Новшества Flask 2.0
  32. Поиск HTML-элементов с BeautifulSoup
  33. Проверка кортежей.
  34. Сумма элементов списка
  35. Подсчет частотности элементов в Python
  36. Управление памятью в numpy.
  37. Фильтрация последовательности
  38. Транспонирование 2D-массива с помощью zip
  39. Отслеживание выполнения программы с библиотекой tqdm
  40. Метод __ixor__ для побитового исключающего ИЛИ
  41. Проверка надежности пароля на Python
  42. Документирование функций в Python
  43. Функции map() и reduce() в Python
  44. Метод setdefault() в Python
  45. Обновление данных через PUT запрос
  46. Сглаживание списка
  47. Область видимости переменных

Marketello читают маркетологи из крутых компаний