Как создать полный сжатый файл tar с помощью Python?

Как я могу создать файл .tar.gz со сжатием в Python?

  • В чем преимущества упаковки вашей библиотеки / приложения python в файл .egg?
  • Можно ли генерировать и возвращать ZIP-файл с помощью App Engine?
  • Python: zip-подобная функция, которая занимает самую длинную длину?
  • Добавление папок в zip-файл с помощью python
  • Что такое лучший Zip-модуль Python для обработки больших файлов?
  • Как я могу закрепить содержимое папки с помощью python (версия 2.5)?
  • Закрепить папку на части?
  • Удалить файл из zipfile с помощью модуля ZipFile
  • 3 Solutions collect form web for “Как создать полный сжатый файл tar с помощью Python?”

    Чтобы построить .tar.gz (aka .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.open с mode='w:gz' , что означает «Открыть для сжатого письма gzip».

    Вероятно, вы захотите закончить имя файла (аргумент name для open ) с .tar.gz , но это не влияет на способности сжатия.

    BTW, вы обычно получаете лучшее сжатие с режимом 'w:bz2' , так же как tar может обычно сжиматься еще лучше с помощью bzip2 чем он может сжимать с помощью gzip .

    Python - лучший язык программирования в мире.