如何删除或替换zip存档中的文件?

Mic*_*Net 23 python zipfile

我正在用Python创建一个程序,它下载一组文件并将它们放入带有zipfile模块的存档中.

我已经找到了如何附加到存档,但有些情况下存档中的文件已经存在并且应该被覆盖.

目前,如果我将已存在的文件附加到存档,我会得到重复.

有谁知道如何删除档案中的文件?

小智 14

来自http://docs.python.org/2/library/zipfile

ZipFile.namelist()
Return a list of archive members by name.
Run Code Online (Sandbox Code Playgroud)

因此,在附加到文件并对存档中的现有成员列表执行检查操作之前,获取成员列表是微不足道的.

此外:不支持从ZIP文件中删除.如果需要,您需要编写新的存档,并复制现有文件并省略要删除的文件.

也可以看看

使用ZipFile模块从zipfile中删除文件

  • 如果 zipfile 库不能支持删除和覆盖 ZIP 文件中的文件,我认为它是非常有限的。 (3认同)
  • 此处跟踪标准库的此限制:https://bugs.python.org/issue6818。 (3认同)