自己需要 就写了两个函数 。
import zipfile
#解压zip文件
def unzip(zip_path=None,file_path=None):
if zip_path is None or file_path is None:
return False
if os.path.exists(zip_path):
zip_file = zipfile.ZipFile(zip_path)
zip_file.extractall(file_path)
zip_file.close()
#压缩文件
def zip(file_path=None,zip_path=None):
zip_path_type = 0
if file_path is None or zip_path is None:
return False
if os.path.isdir(file_path):
zip_path_type = 1
elif os.path.isfile(file_path):
zip_path_type = 2
else:
return False
zip_file = zipfile.ZipFile(zip_path,‘w’,zipfile.ZIP_DEFLATED)
if zip_path_type == 2:
zip_file.write(file_path)
if zip_path_type == 1:
for fpathe,dirs,fs in os.walk(file_path):
for f in fs:
tmp_file_path = os.path.join(fpathe,f)
zip_file.write(tmp_file_path)
zip_file.close()
#使用方法
unzip(‘需要解压的zip文件路径’,’解压到的目录’) #解压模板
zip(‘需要zip压缩的文件或目录’,’压缩到zip的文件路径’) #重新打包
#demo
unzip(‘/home/wwwroot/test.zip’,’/home/wwwroot/test’)
zip(‘/home/wwwroot/test’,’/home/wwwroot/test.zip’)