import zipfile
import os
z = zipfile.ZipFile('demo.zip', 'w', zipfile.ZIP_DEFLATED) # demo.zip为压缩后的文件名
startdir = "demo" # demo 为压缩目标
for dirpath, dirnames, filenames in os.walk(startdir):
for filename in filenames:
z.write(os.path.join(dirpath, filename))
z.close()