簡體   English   中英

當文件系統中不存在該文件夾時,如何在zip中添加文件夾?

[英]How to add folder in zip, when this folder does not exist in file system?

任務是創建zip歸檔文件,其中包含帶有文件的文件夾樹。 但是,一個細微差別是,這些文件夾不在磁盤上,只有其他名稱的文件,並且樹包含在數據庫中。

我嘗試使用標准的zipfile,但是當我嘗試調用write方法時,出現錯誤,表明磁盤上沒有此類文件夾。 我該如何解決這個任務?

要在歸檔文件中創建不在磁盤上的文件夾,必須使用writestr()方法。 例如:

zf.writestr('folder1/', '')

為了將文件寫入存檔,在創建許多不在磁盤上的文件夾時,必須使用write()方法,其中,文件名在磁盤上指定其名稱,而參數arcname指定存檔中的路徑。 這將創建在arcname中指定的所有以前的文件夾。 例如:

zf.write('test.txt', arcname='folder2/test1.txt')

在存檔的這兩行之后,將是文件夾“ folder1”和“ folder2”,在文件夾“ folder2”中將是名為“ test1.txt”的文件,其中包含文件系統中文件“ test.txt”的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM