Работа с файлами в 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 стандарты.
Можно создавать и производить синт.анализ:
- пути
- каталоги
- файлы
- символические ссылки
Можно получать и устанавливать свойства объектов, включая права доступа, а так-же удалять их.
glob
Определение шаблонов имен файлов в unix-стиле
fnmatch
Реализует сравнение имен с шаблонами glob
linecache
Используется для сокращения издержек чтения файлов (к примеру при трассировке или при создании отчетов ошибок). Можно использовать для задач. в которых требуется многократное чтение одного и того же файла.
tempfile
Создание временных файлов и директорий. Есть возможность создавать неименованные файлы (для случаев, когда не требуется совместное использование) и именованные файлы (когда требуется анализ создаваемых файлов). Доступен свой менеджер контекста.
Запись о создании файла удапляется сразу после его создания. Сам файл удаляется после его закрытия. Есть возможность создавать небольшие файлы в буфере вместо обращения к диску.
shutil
Предоставляет выскоуровневые операции с файлами и каталогами:
- копирование файлов
- частичное копирование метаданных
- работа с деревом каталогов - создание, перемещение и т.д.
- поиск файлов
- архивация (создание и распаковка архивов)
- измененеие владельца
- определение размера файловой системы
filecmp
Реализует сравнение файлов и директорий. Смотри еще difflib - сравнение последовательностей
mmap
Отображение файлов в память: чтение, запись, копирование.
codecs
Перекодировка текстовых данных.
io
Поставляет классы, реализующие open()
в операциях ввода-вывода. Это позволяет работать с текстовыми, двоичными и необработанными данными в памяти с использованием файлового апи.