使用Python,我如何确保文件夹的压缩发生在特定文件夹中?

时间:2008-11-20 20:47:29

标签: python file zip

我能够压缩文件夹的内容。但我希望压缩文件保留在刚刚压缩的文件夹中。例如,我在我的C:驱动器中压缩了一个名为test的文件夹。但我希望我的“test.zip”文件包含在C:\ test中。我怎样才能做到这一点?提前谢谢。

使用代码示例澄清问题:

有人善意地指出我的问题令人困惑,但对于一个蟒蛇新手来说,很多事情都令人困惑:) - 如果这个问题太基本或者答案很明显,我的先知道歉。我不知道如何确保生成的zip文件位于已压缩的文件夹中。换句话说,我希望zip过程在'basedir'中进行。这样,用户就不会浪费时间在C盘上的某个地方搜索它。


def zip_folder(basedir, zip_file): z = zipfile.ZipFile(zip_file, 'w', zipfile.ZIP_DEFLATED) for dirpath, dirnames, filenames in os.walk(basedir): print "zipping files:" for fn in filenames: print fn absfn = os.path.join(dirpath, fn) z.write(absfn) z.close

1 个答案:

答案 0 :(得分:1)

无论你将zip_file作为函数传递给函数,ZipFile对象都会写入该文件。因此,如果你传递一条完整的路径,那么它将被放在那里。如果只传递一个文件名,那么它将被写入当前工作路径下的文件名。听起来你只需要确保zip_file是绝对路径。