Розпакуйте вкладений 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

Нижче наведено кроки для вилучення вкладених ZIP-файлів у Python.

  • Спочатку завантажте ZIP-архів за допомогою класу Archive.
  • Потім перегляньте записи ZIP за допомогою колекції Archive.entries.
  • Відфільтруйте ZIP-архіви за допомогою перевірки ArchiveEntry.name.lower().endswith(".zip").
  • Створіть об’єкт BytesIO і відкрийте в ньому вкладений ZIP.
  • Нарешті, відкрийте вкладений ZIP за допомогою об’єкта BytesIO та розпакуйте його за допомогою методу Archive.extracttodirectory().

Наведений нижче фрагмент коду витягує вкладений ZIP-архів у папку на Python.

import aspose.zip as az
from io import BytesIO

# Завантажити ZIP-архів із вкладеними ZIP-архівами
with az.Archive("nested_zip_archive.zip") as archive:
   for entry in archive.entries:            
        # Перевірте, чи запис є ZIP-архівом
        if entry.name.lower().endswith(".zip"):                
            # Відкрити вкладений ZIP у потік
            with BytesIO() as nested_stream:   
                # Відкрийте ZIP у потоці
                entry.extract(nested_stream)
                
                # Завантажити ZIP
                with az.Archive(nested_stream) as nested_archive: 
                    # Розпакуйте ZIP у папку
                    nested_archive.extract_to_directory("Extracted/" + entry.name)

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

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

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

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

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

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

Висновок

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

Дивись також