我想用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文件。
有什么想法吗?
答案 0 :(得分:2)
您正在进行递归。因为您创建的zip列在文件中。 你在拉链里面的拉链内拉链里写拉链等等。
答案 1 :(得分:0)
如果您正在运行linux
或osx
,这可能会对您有所帮助。
from subprocess import call
zfName = 'simonsZip'
fnames = '*' #all files
call(["zip","-R", zfName, fnames])
这只是递归地压缩当前目录中的所有文件(-R
)。