Python压缩目录脚本中的所有文件失败

时间:2014-06-20 21:43:07

标签: python

我想用python编写一个非常简单的脚本,它将压缩文件夹中的所有文件。这就是我现在所拥有的:

import os
import zipfile
zfName = 'simonsZip.zip'
foo = zipfile.ZipFile(zfName, 'w')
for dirname, dirnames, filenames in os.walk('.'):
    # print path to all filenames.
    for filename in filenames:
        print (os.path.join(dirname,filename))
        foo.write(os.path.join(dirname, filename))
    foo.close()

当我sudo python script.py脚本运行时,但永远不会结束,同时生成一个巨大的zip文件。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您正在进行递归。因为您创建的zip列在文件中。 你在拉链里面的拉链内拉链里写拉链等等。

答案 1 :(得分:0)

如果您正在运行linuxosx,这可能会对您有所帮助。

from subprocess import call

zfName = 'simonsZip'
fnames = '*' #all files
call(["zip","-R", zfName, fnames])

这只是递归地压缩当前目录中的所有文件(-R)。