How do I delete or replace a file in a zip archive?

I'm creating a program in Python which downloads a set of files and puts them into an archive with the zipfile module.

I already found out how to append to the archive, but there are cases where the files in the archive already exist and should be overwritten.

Currently, if I append an already existing file to the archive I get a duplicate.

Does anyone know how to delete a file in an archive?

Answers


From http://docs.python.org/2/library/zipfile

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

So it is trivial to get hold of the members list before appending to the file and performing a check operation against the list of existing members within the archive.

In addition: removing from a ZIP file is not supported. You need to write a new archive if needed and copy over existing files and omit the file to be removed.

See also

Delete file from zipfile with the ZipFile Module


Need Your Help

Not able to download Zip file from gmail which contains executable Jar in it

download gmail zip executable-jar

I have an email almost 4 years ago, which has Zip file in attachments containing executable jar file. I want to download that file. But, nowadays gmail doesn't allow to send or receive any executable

How can I tell Asset Catalog (.xcassets) to use the Same Image for Multiple Image Wells?

ios xcode xcode5 xcasset

We have several Xcode app projects, and we're upgrading all of them to use the latest Xcode 5 features, including Asset Catalogs (.xcassets).