Как создать полный сжатый файл tar с помощью Python?
Как я могу создать .смола.GZ файл со сжатием в Python?
3 ответов
построить .tar.gz
(Он же .tgz
) для всего дерева каталогов:
import tarfile
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
tar.add(source_dir, arcname=os.path.basename(source_dir))
import tarfile
tar = tarfile.open("sample.tar.gz", "w:gz")
for name in ["file1", "file2", "file3"]:
tar.add(name)
tar.close()
Если вы хотите создать дегтя.сжатый файл bz2 файл, просто замените имя файла с расширением ".тар.bz2 файл" и "W:ГЗ" с "W:bz2 файл".
вы называете tarfile.открыть С mode='w:gz'
, Что означает " открыть для сжатой записи gzip."
вы, вероятно, захотите завершить имя файла ( до open
) С .tar.gz
, но это не влияет на способности сжатия.
кстати, вы обычно получаете лучшее сжатие с режимом 'w:bz2'
, как tar
обычно можно сжимать еще лучше с bzip2
чем он может сжать с gzip
.