控制Zipfile目录结构

时间:2017-02-13 22:16:45

标签: python zip

我正在尝试将zip文件保存在/ tmp目录中。这是我的代码:

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)

这会将zip文件保存在/tmp目录中。但是,当我双击zip文件解压缩时。它在新的zip目录中创建tmp文件。如何在file.xml目录中将压缩文件保存为/tmp/file.xml而不是tmp

或者,使用subprocess模块可能有更简单的方法吗?

1 个答案:

答案 0 :(得分: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)