【问题标题】:How can i extract files using custom names with zipfile module from python?如何使用自定义名称和 python 中的 zipfile 模块提取文件?
【发布时间】:2010-10-20 20:32:32
【问题描述】:

我想为我的文件名添加后缀,例如 uuid。如何使用 zipfile 提取文件并传递自定义名称?

【问题讨论】:

    标签: python zipfile


    【解决方案1】:

    使用ZipFile.open() 打开一个类似于文件数据的只读文件,然后使用shutil.copyfileobj() 将其复制到具有正确名称的只写文件中。

    【讨论】:

      【解决方案2】:

      第 1 步:提取文件。

      第 2 步:重命名它们。

      【讨论】:

      • 我不能,因为有可能覆盖其他没有 uuid 的文件。
      • 那在重命名之前检查一下是否还有其他文件?除非这里有更多的复杂情况,否则我并没有真正看到问题......
      • 我想我不明白你的主要问题。如果您想将 zip 文件提取到某个文件夹,并且该文件夹中有一个文件与 zip 文件中的文件同名,那么无论您如何提取文件,都会出现名称冲突。您可以自己编写新文件,比如open(<new name>,"wb").write(archive.extract(<old name>)),或者通过将每个新的 zip 文件放在自己的 UUID 命名目录中来绕过整个问题。
      猜你喜欢
      • 2017-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多