Как удалить или заменить файл в zip-архиве? - программирование

Как удалить или заменить файл в zip-архиве?

Я создаю программу на Python, которая загружает набор файлов и помещает их в архив с zipfile-модулем.

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

В настоящее время, если я добавляю уже существующий файл в архив, я получаю дубликат.

Кто-нибудь знает, как удалить файл в архиве?

4b9b3361

Ответ 1

От http://docs.python.org/2/library/zipfile

ZipFile.namelist()
Return a list of archive members by name.

Так что тривиально получить список участников перед добавлением к файлу и выполнить операцию проверки со списком существующих членов в архиве.

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

См. также

Удалить файл из zipfile с помощью модуля ZipFile