在python中使用zipfile压缩文件时层级很多,有很多层目录
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2018-10-09 09:53:07
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
如下图本来只压缩一个文件结果这个文件所在的路径全都被压缩进去啦

下面是解决方法
yadir='D:/databak/'
zipfilepath='D:/zipfile.zip'
filelists = os.listdir(yadi)
if filelists == None or len(filelists) < 1:
print (">>>>>>待压缩的文件目录:" + yadir + " 里面不存在文件,无需压缩. <<<<<<")
else:
z = zipfile.ZipFile(zipfilepath, 'w' ,zipfile.ZIP_DEFLATED)
for fil in filelists:
filefullpath = os.path.join(yadir, fil)
# filefullpath是文件的全路径,fil是文件名,这样就不会带目录啦
z.write(filefullpath, fil)
z.close()注意z.write的第二个参数如果直接给个文件名的话是无效的要加个相对路径如 './'+ test.txt