import os
import zipfile
def make_zip(source_dir, output_filename):
zipf = zipfile.ZipFile(output_filename, 'w', compression=zipfile.ZIP_DEFLATED)
pre_len = len(os.path.dirname(source_dir))
for parent, dirnames, filenames in os.walk(source_dir):
for filename in filenames:
pathfile = os.path.join(parent, filename)
arcname = pathfile[pre_len:].strip(os.path.sep)
zipf.write(pathfile, arcname)
zipf.close()
if '__main__' == __name__:
make_zip("data","data.zip")