注意打完包之后,如果双击zip包进去查看,在win2003上空文件夹被显示为大小为0的文件,但是解开压缩之后就是正常的空文件夹了。而win2008上点击进去看到的就是空文件夹。
tmpPath = xxx
try:
f = zipfile.ZipFile("abc.zip", 'w' ,zipfile.ZIP_DEFLATED)
for root,dirs,files in os.walk(tmpPath):
for filename in files:
f.write(join(root,filename))
if len(files) == 0:
zif=zipfile.ZipInfo((root+'\\'))
f.writestr(zif,"")
except IOError, message:
print message
sys.exit(1)
except OSError, message:
print message
sys.exit(1)
except zipfile.BadZipfile, message:
print message
sys.exit(1)
finally:
f.close()
if zipfile.is_zipfile(f.filename):
print "Successfully packing to: "+os.getcwd()+"\\"+"abc.zip"
else:
print "Packing failed"
关于python压缩文件函数详解,参照
http://docs.python.org/2/library/zipfile.html