【问题标题】:How do I delete or replace a file in a zip archive?如何删除或替换 zip 存档中的文件?
【发布时间】:2012-12-04 17:40:42
【问题描述】:

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

我已经知道如何追加到存档,但在某些情况下存档中的文件已经存在并且应该被覆盖。

目前,如果我将一个已经存在的文件附加到存档中,我会得到一个副本。

有人知道如何删除存档中的文件吗?

【问题讨论】:

标签: python zipfile


【解决方案1】:

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

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

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

另外:不支持从 ZIP 文件中删除。你需要写一个新的存档 如果需要,复制现有文件并省略要删除的文件。

另见

Delete file from zipfile with the ZipFile Module

【讨论】:

  • 我认为 zipfile 库是非常有限的,如果它不能支持删除和覆盖 ZIP 文件中的文件。
  • 这个标准库的限制在这里被跟踪:bugs.python.org/issue6818.
猜你喜欢
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多