一、先將壓縮文件解壓至指定目錄
import zipfile import os zip_src = "目標指定壓縮文件" def unzip_file(): r = zipfile.ZipFile(zip_src) if r: fz = zipfile.ZipFile(zip_src, 'r') for file in fz.namelist(): fz.extract(file, '解壓到指定目錄') else: print('This is not zip') #print(unzip_file())
二、再對解壓內容進行壓縮打包並實施改名,格式依然為zip格式
# 壓縮 #打包目錄為zip文件(未壓縮) 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: pathfile = os.path.join(parent, filename) arcname = pathfile[pre_len:].strip(os.path.sep) #相對路徑 zipf.write(pathfile, arcname) zipf.close() abc = make_zip("指定目標解壓內容",'壓縮成文件,並實施改名') print(abc)