我已经能够压缩我的文件夹的内容。但我希望压缩文件保留在刚刚压缩的文件夹中。例如,我在 C: 驱动器中压缩了一个名为 test 的文件夹。但我希望我的“test.zip”文件包含在 C:\test 中。我怎样才能做到这一点?提前致谢。
用代码示例澄清问题:
有人好心地指出我的问题令人困惑,但对于 python 新手来说,很多事情都令人困惑:) - 如果这个问题太基本或答案很明显,我提前道歉。我不知道如何确保生成的 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