如何确保用Python将文件夹压缩到指定文件夹内?

1 投票
1 回答
238 浏览
提问于 2025-04-11 19:22

我已经成功把我的文件夹压缩成了一个压缩包。但是我希望这个压缩包能保留在刚刚被压缩的文件夹里。比如说,我在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是一个绝对路径就可以了。

撰写回答