def make_zip(source_dir, output_filename):
zipf = zipfile.ZipFile(output_filename, 'w')
pre_len = len(os.path.dirname(source_dir))
for parent, dirnames, filenames in os.walk(source_dir):
for filename in filenames:
# print(filename)
pathfile = os.path.join(parent, filename)
arcname = pathfile[pre_len:].strip(os.path.sep)
zipf.write(pathfile, arcname)
zipf.close()
if __name__ == '__main__':
# 参数1为要压缩的文件路径 参数2为压缩后的文件路径
make_zip(source_dir, output_filename)
print("压缩成功")
#解压文件
def zip_extract_to(path_zip, path_aim):
z = zipfile.ZipFile(path_zip, 'r')
for p in z.namelist():
z.extract(p, path_aim)
z.close()
# 要解压的zip文件路径
path_zip = r'文件路径'
# 要解压到的位置
path_aim = 参数+r'\批量导入' # 可实现参数+路径的拼接
# 解压压缩包
zip_extract_to(zippath, path_aim) # 调用方法
print("解压成功")