Как создать полный сжатый 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()
Если вы хотите создать сжатый файл tar.bz2, просто замените имя расширения файла на ".tar.bz2" и "w:gz" на "w:bz2".
вы называете tarfile.открой С
mode='w:gz'
, Что означает " открыть для сжатой записи gzip."вы, вероятно, захотите закончить имя файла ( до
open
) С.tar.gz
, но это не влияет на способности сжатия.кстати, вы обычно получаете лучшее сжатие с режимом
'w:bz2'
, какtar
обычно можно сжимать еще лучше сbzip2
чем он может сжиматься сgzip
.