все Python 3tarfileпонятие
tarfile.TarFile
архивы tar
Объект открытого tar-архива: добавление файлов, список членов, чтение и распаковка; создаётся через tarfile.open().
Синтаксис
with tarfile.open(name, mode) as tar: ...
add() каталога по умолчанию рекурсивен и записывает путь так, как его передали: tar.add('/home/u/proj') кладёт в архив весь путь, нужное имя задаёт arcname. extractfile() читает член в память без записи на диск — это безопасный способ заглянуть в чужой архив. extract() и extractall() без filter до 3.14 доверяли архиву полностью; атрибут extraction_filter задаёт фильтр для всего объекта.
Примеры
import os, tarfile
os.makedirs('proj/src', exist_ok=True)
with open('proj/src/main.py', 'w', encoding='utf-8') as f:
f.write('print(1)')
with tarfile.open('p.tar', 'w') as tar:
tar.add('proj', arcname='app')
with tarfile.open('p.tar') as tar:
print(tar.getnames()) # → ['app', 'app/src', 'app/src/main.py']
print(tar.extractfile('app/src/main.py').read()) # → b'print(1)'
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности