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.
