Удаление файлов в ZIP-архиве в Python

Архивы ZIP обычно используются для сжатия и хранения нескольких файлов и папок. Хотя создание и извлечение ZIP-архивов является распространенной задачей, иногда вам может потребоваться удалить определенные файлы или папки из существующего ZIP-архива. Python предлагает различные библиотеки для работы с ZIP-архивами, и одна из них — Aspose.ZIP for Python. Итак, давайте научимся удалять файлы из ZIP-архива на Python.

Библиотека Python для удаления файлов в ZIP-архивах

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

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

> pip install aspose-zip

Удаление файлов в ZIP-архиве в Python

Вы можете получить доступ к файлам из ZIP-архива и удалить их двумя способами: по имени или по индексу. Удаление файла по имени полезно, когда вы точно знаете имя записи файла в ZIP-архиве. Или вам нужно удалить все файлы, содержащие в своем названии определенное слово или фразу. С другой стороны, удаление файлов по индексу используется тогда, когда вы точно знаете порядок расположения файлов в ZIP-архиве.

Итак, давайте рассмотрим оба способа подробно.

Удалить файл из ZIP по имени

Чтобы удалить файлы по имени, сначала необходимо отфильтровать файлы, соответствующие или содержащие указанное вами слово/фразу. Получив список файлов, подлежащих удалению, вы можете удалить их из ZIP-архива один за другим. Ниже приведены шаги по удалению файлов из ZIP-архива в Python.

  • Сначала загрузите ZIP-файл, используя класс Archive.
  • Затем просмотрите файлы в ZIP-архиве.
  • Отфильтруйте необходимые файлы/папки и добавьте их в список.
  • Удалите каждую запись в отфильтрованном списке с помощью метода Archive.deleteentry(ArchiveEntry).
  • Наконец, сохраните обновленный ZIP-архив с помощью метода Archive.save().

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

import aspose.zip as az

# Загрузите ZIP-архив
with az.Archive("my_archive.zip") as archive:
    # Список для хранения файлов, подлежащих удалению
    entriesToDelete = []
    
    # Перебирать ZIP-записи
   for entry in archive.entries:
        # Добавить файл/папку в список
        if "2" in entry.name.lower():
            entriesToDelete.append(entry)
    
    # Удалить все перечисленные записи
   for entry in entriesToDelete:
        archive.delete_entry(entry)
    
    # Сохраните обновленный ZIP-архив.
    archive.save("updated-archive.zip")

Удалить файлы в ZIP-архиве по индексу

Ниже приведены шаги по удалению файла из ZIP-архива с использованием его индекса.

  • Сначала загрузите ZIP-файл, используя класс Archive.
  • Затем удалите нужную запись из ZIP, используя метод Archive.deleteentry(index).
  • Наконец, сохраните обновленный ZIP-архив с помощью метода Archive.save().

В приведенном ниже фрагменте кода показано, как удалить файл из ZIP-архива по индексу.

import aspose.zip as az

# Загрузите ZIP-архив
with az.Archive("my_archive.zip") as archive:
    
    # Удалить запись с индексом 0
    archive.delete_entry(0)

    # Сохраните обновленный ZIP-архив.
    archive.save("updated-archive.zip")

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

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

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

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

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

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

Заключение

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

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