2017-02-13 69 views
1

我試圖在/ tmp目錄中保存一個zipfile文件。這裏是我的代碼:控制Zipfile目錄結構

import zipfile 
log.info('ZippingXMLFile...') 

myfilepath = '/tmp/%s' % self.file_name 
myzippath = myfilepath.replace('.xml', '.zip') 

zipfile.ZipFile(myzippath, 'w', zipfile.ZIP_DEFLATED).write(myfilepath) 

這節省了/tmp目錄中的zip文件。但是,當我雙擊壓縮文件將其解壓縮。它在新的tmp目錄中創建zip文件。如何將目錄中的壓縮文件保存爲file.xml而不是/tmp/file.xml

或者,使用subprocess模塊可能有更簡單的方法嗎?

回答

0

創建ZIP文件,然後改回來了,當你完成之前,您可以更改目錄/tmp

import zipfile 
import os 

log.info('ZippingXMLFile...') 

saved = os.getcwd() 
os.chdir('/tmp') 
myzippath = self.file_name.replace('.xml', '.zip') 
zipfile.ZipFile(myzippath, 'w', zipfile.ZIP_DEFLATED).write(self.file_name) 
os.chdir(saved)