我正在創建壓縮文件/文件夾的Python軟件......我將如何創建一段要求輸入文件夾位置的用戶然後進行壓縮的代碼。我目前有一個文件的代碼,但不是文件夾的文件。請詳細解釋如何做到這一點。如何使用Python GZip模塊壓縮文件夾?
回答
GZip不會壓縮文件夾/目錄,只會壓縮單個文件。改用zipfile
模塊。
正如larsmans所說,gzip壓縮不用於目錄,只用於單個文件。使用linux的常用方法是將目錄放在tarball中,然後壓縮。
值得一提的是,當你壓縮和壓縮時,你可以獲得更好的壓縮效果,而不是單獨壓縮每個文件。 – synthesizerpatel 2010-10-06 17:32:04
我不做UI,所以你自己從用戶那裏獲取文件夾名稱。這是一種製作gz壓縮tarfile的方法。它確實不是遞歸子文件夾,你需要像os.walk()那樣的東西。
# assume the path to the folder to compress is in 'folder_path'
import tarfile
import os
with tarfile.open(folder_path + ".tgz", "w:gz") as tar:
for name in os.listdir(folder_path):
tar.add(name)
其實你可以直接寫'tar.add(folder_path)',它會被遞歸地添加。 (當然,這可能是自發布此答案以來的五年中添加的一項新功能!)另外,for循環不應該在這裏縮進,除非將tar = tarfile.open(...)更改爲'用tarfile.open(...)作爲tar:'(這是一個好主意,然後你可以去除'tar.close()'行)。 – 2015-11-26 11:20:54
謝謝,不知道如何縮進錯誤存活了5年。 – 2015-11-28 19:42:02
到一個文件夾中壓縮到tar文件中的代碼是:
import tarfile
tar = tarfile.open("TarName.tar.gz", "w:gz")
tar.add("folder/location", arcname="TarName")
tar.close()
這對我的作品。希望也適合你。
- 1. 與django_compressor壓縮文件以gzip壓縮
- 2. 使用python gzip模塊解壓文件的一部分
- 3. NLTK - 的gzip壓縮文件
- 4. 如何使用Ant和Gzip壓縮文件夾中的每個文件
- 5. 解析gzip壓縮日誌文件一行行內焦油gzip壓縮文件
- 6. 如何使用ZipKit壓縮文件夾?
- 7. 如何使用PowerShell壓縮文件夾
- 8. 如何壓縮GZip格式的文件?
- 9. 如何修改gzip壓縮文件
- 10. Hadoop gzip壓縮文件
- 11. PHP錯誤壓縮mod_deflate模塊gzip壓縮
- 12. 如何使用rubyzip解壓縮壓縮文件夾
- 13. 的gzip不mod_gzip的,也不mod_deflate模塊和預gzip壓縮文件
- 14. node.js如何流化22GB gzip壓縮文件解壓縮
- 15. 如何在內存中解壓縮GZip壓縮文件?
- 16. Python解壓gzip塊逐塊
- 17. 從PCL壓縮gzip/zip文件的文件夾
- 18. 如何使用python壓縮Excel文件?
- 19. 如何使用python(版本2.5)壓縮文件夾的內容?
- 20. Objective-C的gzip壓縮的NSData到Python gzip壓縮串?
- 21. 如何使用gzip壓縮tarball?
- 22. 使用qt壓縮文件夾/文件
- 23. 壓縮級別的python gzip模塊無法正常工作
- 24. Python - 使用zipfile模塊壓縮目錄中的所有文件
- 25. 使用Python tarfile模塊解壓縮tar.bz2文件
- 26. 如何只壓縮文件夾內的文件而不壓縮子文件夾?
- 27. 如何將未壓縮文件夾視爲壓縮文件?
- 28. Node.js - 壓縮/解壓縮文件夾
- 29. 使用GZip壓縮輸出
- 30. 使用gzip壓縮JavaScript
是不是gzip應該只做壓縮,不歸檔?難道你不應該在看焦油嗎? – 2010-10-06 16:43:22