Python Glossary English

все 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Сообщить о неточности