2016-09-29 38 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不客氣)) –