2017-02-13 80 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)