我尝试使用以下代码压缩目录/tmp

#!/usr/bin/env python
import os
import zipfile


def zipdir(path, zip):
    for root, dirs, files in os.walk(path):
        for file in files:
            zip.write(os.path.join(root, file))

if __name__ == '__main__':
    zip = zipfile.ZipFile('Python.zip', 'w')
    zipdir('tmp/', zip)
    zip.close()

上面代码的输出似乎在“/”目录中创建了zip文件。有没有办法将输出重新定向到另一个目录,比如/home/zipfiles?

最佳答案

你应该能够

zip = zipfile.ZipFile('/home/zipfiles/whatever.zip', 'w')

现在所拥有的将在运行脚本的任何目录中创建文件。
注意:选择一个不zip的名字可能是个好主意。zip是一个内置的,当你发现自己变得怪异时总是很烦人,因为你不小心跟踪到了你需要的内置。

10-06 01:08
查看更多