回答
num_files = 4 #number of zip files to create
dir_to_zip = "https://stackoverflow.com/a/file/path/"
#get list of all files in directory
files = [os.path.join(dir_to_zip,file) for file in os.listdir(dir_to_zip)]
#partition the files how you want (here we just spit it into 4 equal length lists of files)
files_in_parts = zip(*zip(*[iter(files)]*num_files))
#enumerate over each partition and add it to its own zip file
for i,zip_contents in enumerate(files_in_parts,1):
with ZipFile('zipfile%s.zip'%i, 'w') as myzip:
map(myzip.write,zip_contents)
如果'dir_to_zip'目錄中的條目數量不能被'num_files'整除,那麼你的代碼會丟失一些文件。你試圖存檔文件名而不是內容('zip_contents'是你的案例中的文件列表)。但是一般的想法(將不同的文件分佈到不同的檔案中)可能會起作用(可以很容易地修改它以考慮相關的文件大小)。 – jfs
是的我沒有真正期望任何人直接複製和粘貼。它更多地表達了它應該根據用戶需求進行分區的想法 –
對於它的價值,標準ziplib
兩個Python 2.7和Python 3.3明確地說,它不支持多磁盤的檔案:
該模塊目前不處理多盤的ZIP文件。
如果您希望創建單個邏輯多文件歸檔,則可能會被迫爲shell out to an operating system command。
要清楚的是,這裏的多磁盤意味着多文件,而不是像硬盤或類似的東西? – TankorSmash
@TankorSmash,是的,多個文件。據我所知,此功能旨在生成多個可預測大小的文件,共同組成一個邏輯歸檔。這些文件中的每一個都可以放在自己的物理磁盤上(例如軟盤),磁盤可以移動到另一個位置,並提取數據。 – Chris
- 1. 將文件夾壓縮成ZipFile
- 2. 無法將文件從壓縮文件夾複製到非壓縮文件夾
- 3. 如何將未壓縮文件夾視爲壓縮文件?
- 4. 壓縮/壓縮文件夾,同時排除特定文件夾
- 5. Node.js - 壓縮/解壓縮文件夾
- 6. 壓縮和解壓縮文件夾
- 7. 如何直接將csv文件壓縮成zip壓縮文件?
- 8. 如何只壓縮文件夾內的文件而不壓縮子文件夾?
- 9. ApplScript壓縮文件夾?
- 10. Android - 解壓縮文件夾?
- 11. android壓縮文件夾
- 12. 搜索壓縮文件夾
- 13. Windows.Storage.Compression UnZip壓縮文件夾
- 14. 如何將文件夾壓縮爲zip?
- 15. 如何將文件夾壓縮爲.ngz
- 16. 壓縮/解壓縮文件夾和文件
- 17. 壓縮和解壓縮文件和文件夾
- 18. 文件夾是文件不是壓縮
- 19. Powershell,WMI和壓縮文件/文件夾
- 20. 使用qt壓縮文件夾/文件
- 21. 如何使用VBScript將文件夾的每個子文件夾壓縮爲ZIP壓縮文件?
- 22. 如何在Silverlight中壓縮和解壓縮文件夾及其子文件夾?
- 23. 如何將WordprocessingML文件夾壓縮成可讀的docx
- 24. 如何將「tail -f」壓縮成壓縮(gziped)文件?
- 25. 壓縮文件生成的文件
- 26. 將壓縮目錄壓縮成帶有Commons IO的壓縮文件
- 27. 將zip文件解壓縮到文件夾的根目錄?
- 28. 如何將文件壓縮到歸檔的指向文件夾?
- 29. 在perl中將文件添加到壓縮文件夾中
- 30. 創建文件/文件夾結構並將其壓縮?
[Here](http://stackoverflow.com/questions/10539612/create-split-archives-zip-rar-7z-in-python)是一個重複的,不幸的是你沒有回答。 – wim