2016-09-29 39 views
10

我使用下面的代码,我将.pdf文件名与其路径一起传递以创建zip文件。使用多个文件创建zip档案

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

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

在人们开始指出之前,我已经咨询了thisthis链接的答案,但是给出的代码并不适用于我。代码运行,但我无法在我的电脑中的任何地方找到生成的zip文件。

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

回答

14

订单不正确。您正在为每个项目创建新的zipfile对象lstFileNames

应该是这样的。

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

好,该死的。这很简单。谢谢一堆! –

+0

@TahreemIqbal不客气)) –