python自帶zipfile模塊用來讀、寫zip文件。
def zip_dir(dirname,zipfilename): filelist = [] if os.path.isfile(dirname): filelist.append(dirname) else : for root, dirs, files in os.walk(dirname): for name in files: filelist.append(os.path.join(root, name)) zf = zipfile.ZipFile(zipfilename, "w", zipfile.ZIP_STORED,allowZip64=True) for tar in filelist: arcname = tar[len(dirname):] #print arcname zf.write(tar,arcname) zf.close()
zf = zipfile.ZipFile(zipfilename, "w", zipfile.ZIP_STORED,allowZip64=True)
上面的函數有四個函數:zip文件包含路徑的名字,"w"/"r"表示寫或者讀,zipfile.ZIP_STORED表示存儲格式(還可以是zipfile.zlib.DEFLATED表示壓縮格式),allowZip64=True這個參數是在處理大文件時使用的,默認為False。如果沒有設置為True而處理大文件時會提示 zip file size require ZIP64 extensions.