【问题标题】:Create zip archive with multiple files创建包含多个文件的 zip 存档
【发布时间】:2017-02-07 15:18:38
【问题描述】:

我使用以下代码传递 .pdf 文件名及其路径来创建 zip 文件。

for f in lstFileNames:
        with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:
            myzip.write(f)

虽然它只归档一个文件。 我需要将列表中的所有文件归档到一个 zip 文件夹中。

在人们开始指出之前,是的,我已经咨询了 thisthis 链接的答案,但那里给出的代码对我不起作用。代码运行,但我在计算机的任何地方都找不到生成的 zip 文件。

一个简单直接的答案将不胜感激。谢谢。

【问题讨论】:

    标签: python


    【解决方案1】:

    顺序不正确。您正在为 lstFileNames 中的每个项目创建新的 zipfile 对象

    应该是这样的。

    with zipfile.ZipFile('reportDir' + str(uuid.uuid4()) + '.zip', 'w') as myzip:
        for f in lstFileNames:   
            myzip.write(f)
    

    【讨论】:

    • 好吧,该死的。就这么简单。非常感谢!
    • myzip.close() 在上下文管理器中不是多余的吗?它应该在退出“with”语句部分后自动关闭。
    • @Hunter_71 是的,最近被别人添加了
    • 很好,这个答案对我很有用,谢谢@SardorbekImomaliev
    • @SardorbekImomaliev 我已经使用了这个建议,但出于某种原因,它正在创建一个包含文件夹/文件夹/文件夹/文件的 zip 文件。有没有办法简单地创建一个包含文件的 zip 文件?
    猜你喜欢
    • 2015-01-21
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多