如何确保用Python将文件夹压缩到指定文件夹内?
我已经成功把我的文件夹压缩成了一个压缩包。但是我希望这个压缩包能保留在刚刚被压缩的文件夹里。比如说,我在C盘压缩了一个叫做test的文件夹,但我希望生成的“test.zip”文件能放在C:\test这个位置。我该怎么做呢?提前谢谢你们。
问题的进一步说明和代码示例:
有人好心指出我的问题有点让人困惑,但对于一个刚接触Python的新手来说,很多事情都让人感到迷茫 :) 如果这个问题太基础或者答案显而易见,我提前道歉。我不知道怎么才能确保生成的压缩文件会放在被压缩的文件夹里。换句话说,我希望压缩的过程能在“基目录”中进行。这样用户就不用浪费时间在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 个回答
2
你传给函数的zip_file就是ZipFile对象要写入的文件。所以如果你传的是一个完整的路径,它就会写到那个地方。如果你只传了一个文件名,它就会在当前工作路径下写入这个文件名。听起来你只需要确保zip_file是一个绝对路径就可以了。