Это то, для чего нужны тарболлы.Формат tar
упаковывает файлы вместе, а затем вы сжимаете результат.Python позволяет легко сделать оба одновременно с модулем tarfile
, где передача "mode" в 'w:bz2'
открывает новый tar-файл для записи с бесшовным сжатием bz2
.Супер-простой пример:
import tarfile
with tarfile.open('mytar.tar.bz2', 'w:bz2') as tar:
for file in mylistoffiles:
tar.add(file)
Если вам не нужно много контроля над операцией, shutil.make_archive
может быть возможной альтернативой, которая упростит код для сжатия целогодерево каталогов до:
shutil.make_archive('mytar', 'bztar', directory_to_compress)