我正在運行一個python程序(v2.7),它可以通過電子郵件發送輸出。通常這會按預期工作,但偶爾壓縮文件非常大,以至於機器的磁盤空間不足。然而,當我使用finder手動壓縮文件時,它工作正常 - 在這種情況下,使用finder將6MB文件壓縮到1.6MB文件,但是python zip方法生成了20G文件。這裏就是壓縮和解是發生代碼:python zipfile.ZipFile()方法從6M原始生成20G zip文件
zip = zipfile.ZipFile(zipfilename,"w",zipfile.ZIP_DEFLATED)
for f in os.listdir("."):
if fnmatch.fnmatch(f,"*final*"):
zip.write(f)
zip.close()
有沒有辦法解決這個問題,或者至少避免產生一個巨大的文件?
不`zip.write(F)``如果是F`一個目錄,鏈接,`zipfilename`。你可以使用`os.path.isfile()`和`os.path.samefile()`。 – jfs 2011-12-13 21:54:58