2016-06-01 117 views
0

使用Python zip文件模塊我創建了一個zip文件,如下所示:如何將創建的Zip文件保存到Python中的文件系統?

s = StringIO() 
zip_file = zipfile.ZipFile(s, "w") 
zip_file.write('/local/my_files/my_file.txt') 
s.seek(0) 

,現在,我想這zip_file在路徑/local/my_files/my_file.zip被保存在我的文件系統。 一般保存noraml文件我用下面的流程:

with open(dest_file, 'w') as out_file: 
    for line in in_file: 
     out_file.write(line) 

不過,我想我不能達到節約用這樣的壓縮文件。任何人都可以幫助我完成這件事。

回答

2
zip_file = zipfile.ZipFile("/local/my_files/my_file.zip", "w") 
zip_file.write('/local/my_files/my_file.txt') 
zip_file.close() 

ZipFile對象初始化的第一個參數是要保存的zip文件,其路徑。

0

如果您需要使用StringIO的,只是試試這個代碼:

from StringIO import StringIO 
import zipfile 

s = StringIO() 
with zipfile.ZipFile(s, "w", compression=zipfile.ZIP_DEFLATED) as zf: 
    zf.write('/local/my_files/my_file.txt') 

with open('/local/my_files/my_file.zip', 'wb') as f_out: 
    f_out.write(s.getvalue()) 

或者你可以以更簡單的方式做到這一點:

import zipfile 

with zipfile.ZipFile("/local/my_files/my_file.zip", "w", compression=zipfile.ZIP_DEFLATED) as zf: 
    zf.write("/local/my_files/my_file.txt") 
相關問題