Архивы 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-архивирования.