Курс 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. Удаление элемента по индексу
  2. Работа с классами данных
  3. Измерение времени выполнения кода с помощью time
  4. Повторение и перенос строки
  5. Именованные срезы в Python
  6. Генераторы списков в Python
  7. Ускорение обработки данных с %autoawait
  8. Секреты Python
  9. Ускоренный импорт библиотек
  10. Проверка дублей в списке.
  11. Переменные класса и экземпляра
  12. Модуль inspect: получение информации о объектах
  13. Повторение элементов в Python
  14. Оптимизация методов в Python 3.7
  15. Мощь вложенных функций в Python
  16. Работа с функцией next() в Python
  17. Оператор += в Python
  18. Значения по умолчанию в Python
  19. Замена символов в Python
  20. Работа с кортежами в Python
  21. Удаление дубликатов из списка с помощью dict.fromkeys
  22. Проверка вхождения подстроки
  23. Расширение операции побитового «и» в Python
  24. Конструктор в Python
  25. Конвертация текстовых чисел с помощью Numerizer
  26. Цикл for с enumerate() в Python
  27. Перегрузка операторов в Python
  28. Модуль functools в Python
  29. Установка и использование howdoi
  30. Сравнение def и lambda в Python
  31. Бесконечные списки в Python
  32. Вставка переменных в шаблоны Flask
  33. Magic Commands — улучшение работы с Python
  34. Создание директории в Python
  35. Импорт модулей в Python 3.12
  36. Модуль inspect
  37. Объявление переменных в Python
  38. Функция reversed() в Python
  39. Правила именования переменных
  40. Python Метод sleep() времени
  41. Метод split() в Python
  42. Работа с модулем glob в Python
  43. Функции map, filter, reduce
  44. Аннотации типов в Python
  45. Сортировка в Python
  46. Удаление дубликатов в pandas
  47. Поиск кода
  48. Конкатенация строковых литералов

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