Об’єднайте TAR із ZIP у Python

Для зменшення розміру файлів і папок для зберігання або передачі використовуються різні методи стиснення даних. Двома широко використовуваними форматами стиснення є TAR і ZIP, кожен із яких має власні переваги та випадки використання. Але що, якщо вам потрібно поєднати ці формати? У цій публікації блогу ми розглянемо, як об’єднати TAR із ZIP у Python.

Бібліотека Python для об’єднання TAR із ZIP

Aspose.ZIP for Python — це багатофункціональна бібліотека, яка дозволяє працювати з різними форматами архівів, включаючи ZIP і TAR. Ви можете використовувати бібліотеку для створення, додавання, витягування та роботи з архівами без зусиль. Ми будемо використовувати цю бібліотеку для об’єднання TAR з архівом ZIP.

Ви можете завантажити бібліотеку або встановити її з PyPI.

> pip install aspose-zip

Навіщо об’єднувати TAR із ZIP?

Перш ніж ми заглибимося в технічні деталі, давайте коротко обговоримо, чому ви можете об’єднати TAR із ZIP. І TAR, і ZIP мають свої унікальні переваги:

  • TAR: TAR — це формат архівування файлів, який зазвичай використовується в системах Unix і Linux. Він ідеально підходить для об’єднання кількох файлів і каталогів в один файл без стиснення. Архіви TAR часто використовуються для резервного копіювання та пакування файлів для розповсюдження.

  • ZIP: ZIP — це широко використовуваний формат стиснення, який не лише об’єднує файли та каталоги, але й стискає їх, щоб зменшити простір для зберігання та пришвидшити передачу файлів. ZIP підтримується на багатьох платформах і сумісний з різними інструментами архівування.

Об’єднання TAR із ZIP може бути корисним у сценаріях, коли потрібно зберегти структуру каталогів файлів TAR, отримуючи переваги стиснення ZIP.

Об’єднайте TAR із ZIP у Python

Нижче наведено кроки для об’єднання TAR із ZIP у Python.

  • Спочатку завантажте TAR за допомогою класу TarArchive.
  • Потім завантажте ZIP за допомогою класу Archive.
  • Після цього перегляньте записи TAR за допомогою колекції Archive.entries.
  • Витягніть кожен запис із TAR в об’єкт BytesIO за допомогою методу Archive.entries[index].extract(BytesIO).
  • Додайте розпакований запис до ZIP-архіву за допомогою методу Archive.createentry(string, BytesIO).
  • Нарешті, збережіть ZIP-архів за допомогою методу Archive.save(string).

У наступному прикладі коду показано, як об’єднати TAR із ZIP-архівом у Python.

import aspose.zip as az
from io import BytesIO

# Завантажити файл TAR
with az.tar.TarArchive("source.tar") as source:
  
    # Завантажити ZIP-файл
    with az.Archive("target.zip") as target:
      
        # Перегляньте записи TAR і додайте їх до ZIP
       for i in range(source.entries.length):
            if not source.entries[i].is_directory:
                ms = BytesIO()
                source.entries[i].extract(ms)
                target.create_entry(source.entries[i].name, ms)
            else:
                target.create_entry(source.entries[i].name + "/", None)
        
        # Зберегти ZIP-архів
        target.save("merged_tar_zip.zip")

ZIP-бібліотека Python - отримайте безкоштовну ліцензію

Отримайте безкоштовну тимчасову ліцензію та працюйте з декількома форматами архівів без обмежень оцінки.

Навчальні ресурси

Дізнайтеся більше про нашу бібліотеку Python ZIP, використовуючи наведені нижче ресурси:

Онлайн-інструменти ZIP

Використовуйте наші безкоштовні онлайн-інструменти для роботи з архівами, які створені на основі Aspose.ZIP for Python.

Висновок

Об’єднання TAR із ZIP за допомогою Aspose.ZIP for Python є простим процесом, який дозволяє використовувати сильні сторони обох форматів архівування. Незалежно від того, чи потрібно вам пакувати файли для розповсюдження, створювати резервні копії чи просто зменшувати обсяг пам’яті, Aspose.ZIP спрощує завдання та дає вам детальний контроль над процесом. Ви можете легко дотримуватися вказівок, наведених у цій публікації блогу, і об’єднати TAR-архіви з ZIP-архівами у своїх програмах Python.

Дивись також