Работа с файлами в python

Это короткая заметка об инструментах работы с файловой системой, предоставляемыми стандартной библиотекой python

os.path

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

Подробнее про работу с файлами и директорими

  • os.access управление правами
  • os.chdir, os.chown, os.chroot, os.fchdir, os.getcwd() смена текущих директорий (рабочей, рута) и получение строковго представления
  • os.listdir список вложенных в директорию объектов
  • os.walk создание списка содержимого каталога с обходом сверху вниз или снизу вверх, содержащего кортежи из пути к каталогу, названий сабдиректорий, названий содержащихся файлов
  • os.mkdir создание директории, если путь к ней указан верно
  • os.makedirs создание директории вместе со всем указанным путем
  • os.rmdir удаление пустого каталога
  • os.removedirs рекурсивное удаление каталога и всех пустых каталогов на пути к нему
  • os.rename переименование файла или каталога
  • os.renames рекурсивный вариант (создается путь, если его нет)
  • os.replace перемещение файла или каталога
  • os.unlink удаление пути к файлу (по сути удаление файла)

pathlib

Предоставляет объектно-ориентированный АПИ для анализа, проверки, создания и других операций с путями. Реализовано несколько представлений - чистые (pure) классы, которые реализуют представление, но не взаимодействуют с файловой системой и конкретные (concrete), которые взаимодействуют с локальной системой. Реализованы как POSIX так и windows стандарты.

pathlib

Можно создавать и производить синт.анализ:

  • пути
  • каталоги
  • файлы
  • символические ссылки

Можно получать и устанавливать свойства объектов, включая права доступа, а так-же удалять их.

glob

Определение шаблонов имен файлов в unix-стиле

fnmatch

Реализует сравнение имен с шаблонами glob

linecache

Используется для сокращения издержек чтения файлов (к примеру при трассировке или при создании отчетов ошибок). Можно использовать для задач. в которых требуется многократное чтение одного и того же файла.

tempfile

Создание временных файлов и директорий. Есть возможность создавать неименованные файлы (для случаев, когда не требуется совместное использование) и именованные файлы (когда требуется анализ создаваемых файлов). Доступен свой менеджер контекста.

Запись о создании файла удапляется сразу после его создания. Сам файл удаляется после его закрытия. Есть возможность создавать небольшие файлы в буфере вместо обращения к диску.

shutil

Предоставляет выскоуровневые операции с файлами и каталогами:

  • копирование файлов
  • частичное копирование метаданных
  • работа с деревом каталогов - создание, перемещение и т.д.
  • поиск файлов
  • архивация (создание и распаковка архивов)
  • измененеие владельца
  • определение размера файловой системы

filecmp

Реализует сравнение файлов и директорий. Смотри еще difflib - сравнение последовательностей

mmap

Отображение файлов в память: чтение, запись, копирование.

codecs

Перекодировка текстовых данных.

io

Поставляет классы, реализующие open() в операциях ввода-вывода. Это позволяет работать с текстовыми, двоичными и необработанными данными в памяти с использованием файлового апи.

[python-standart-library]