Объединение нескольких ZIP-файлов в Python

Файлы ZIP — популярный способ сжатия и архивирования нескольких файлов в один контейнер. Однако бывают случаи, когда вам необходимо объединить несколько ZIP-файлов в один ZIP-архив. Это может быть особенно полезно для организации и управления вашими файлами. Итак, в этом сообщении блога мы рассмотрим, как объединить несколько ZIP-файлов в один ZIP-файл в Python.

Библиотека Python для объединения нескольких ZIP-файлов

Aspose.ZIP for Python — это надежная библиотека, которая позволяет разработчикам работать с ZIP-архивами в приложениях Python. Он предоставляет широкий спектр функций для создания, добавления, извлечения и управления содержимым ZIP-файлов. Мы будем использовать эту библиотеку для объединения нескольких ZIP-файлов в один ZIP-архив.

Вы можете скачать библиотеку или установить ее из PyPI.

> pip install aspose-zip

Объединение нескольких ZIP-файлов в Python

Aspose.ZIP for Python упрощает задачу объединения нескольких ZIP-архивов. Вам нужно только извлечь файлы из исходного ZIP-архива и добавить их в целевой ZIP. Давайте посмотрим на шаги, необходимые для объединения ZIP-файлов в Python.

  • Сначала загрузите исходный и целевой ZIP-файлы, используя класс Archive.
  • Затем просмотрите записи исходного ZIP-файла, используя коллекцию Archive.entries.
  • Извлеките каждую запись из исходного ZIP-архива в объект BytesIO с помощью метода Archive.entries[index].extract(BytesIO).
  • Добавьте извлеченную запись в целевой ZIP-архив с помощью метода Archive.createentry(string, BytesIO).
  • Наконец, сохраните целевой ZIP-архив, используя метод Archive.save(string).

В следующем примере кода показано, как объединить два ZIP-файла в Python.

import aspose.zip as az
from io import BytesIO

# Загрузка исходных и целевых ZIP-файлов
with az.Archive("source.zip") as source:
    with az.Archive("target.zip") as target:
        
        # Перебирать ZIP-записи
       for i in range(source.entries.length):
          
            # Добавить запись в целевой ZIP-файл
            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.zip")

ZIP-библиотека Python — получите бесплатную лицензию

Получите бесплатную временную лицензию и работайте с ZIP-архивами без ограничений ознакомительной версии.

Образовательные ресурсы

Узнайте больше о нашей ZIP-библиотеке Python, используя ресурсы, указанные ниже:

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

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

Заключение

Объединение нескольких ZIP-файлов в один ZIP-архив может оказаться полезной операцией при работе с большим количеством сжатых файлов. Aspose.ZIP for Python делает эту задачу простой и эффективной. Следуя инструкциям, описанным в этом сообщении блога, вы можете легко объединить несколько ZIP-файлов в один ZIP-архив в Python. Просто установите библиотеку и легко объединяйте ZIP-архивы в свои приложения Python.

Смотрите также