python 壓縮與解壓縮
20 aug 2018
python zipfile
zip 檔案是常用的壓縮檔案格式。 python zipfile模組提供了建立、讀取、寫入、追加等方法來進行zipfile檔案操作。
常用zip64擴充套件,最大支援4g。支援解密文件,但是當前不支援建立加密文件,解密速度比較慢。
zipfile類,讀取、寫入zip檔案。
pyzipfile類,建立zip歸檔,可以包含python庫
zipinfo類,檢視歸檔檔案的資訊,常用函式getinfo()和infolist()
常用函式:
zipfile(file, mode=』r』, compression=zip_stored, allowzip64=true),建立壓縮檔案
with zipfile(『spam.zip』, 『w』) as myzip:
myzip.write(『eggs.txt』)
is_zipfile(filename),是否是壓縮檔案
zipfile.open(name, mode=』r』, pwd=none, *, force_zip64=false),開啟壓縮檔案
with zipfile(『spam.zip』) as myzip:
with myzip.open(『eggs.txt』) as myfile:
print(myfile.read())
zipfile.close(),關閉,必須有,也可以用with語句,省略此句
zipfile.extract(member, path=none, pwd=none),解壓指定檔案到當前目錄,也可指定目錄
zipfile.extractall(path=none, members=none, pwd=none),解壓所有檔案
zipfile.setpassword(pwd),設定密碼
zipfile.write(filename, arcname=none, compress_type=none),寫
zipfile.read(name, pwd=none),讀
壓縮乙個目錄:
def zip_dir(dirname, zipfilename):
filelist =
if os.path.isfile(dirname):
else :
for root, dirs, files in os.walk(dirname):
for dir in dirs:
for name in files:
with zipfile.zipfile(zipfilename, "w") as zf:
for tar in filelist:
arcname = tar[len(dirname):]
print(tar + " -->rar: "+ arcname)
zf.write(tar,arcname)
解壓的函式:
def unzip_dir(zipfilename, unzipdirname):
fullzipfilename = os.path.abspath(zipfilename)
fullunzipdirname = os.path.abspath(unzipdirname)
print("start to unzip file %s to folder %s ..." % (zipfilename,unzipdirname))
#check input
if not os.path.exists(fullzipfilename):
print("dir/file %s is not exist!" % fullzipfilename)
return
if not os.path.exists(fullunzipdirname):
os.mkdir(fullunzipdirname)
#start extract files
with zipfile.zipfile(fullzipfilename,'r') as myzip:
myzip.extractall(fullunzipdirname)
print( "unzip file succeed!")
參考:
壓縮解壓縮
壓縮 壓縮後的檔名 包含物理路徑 待壓縮的資料夾 包含物理路徑 public static void packfiles string filename,string directory catch exception 解壓縮 待解壓檔名 包含物理路徑 解壓到哪個目錄中 包含物理路徑 public ...
壓縮 解壓縮
linux使用最廣泛的壓縮格式位gz,使用gzip命令進行壓縮和解壓縮 1 gzip,gunzip,壓縮 解壓縮檔案,compress or expand files gzip acdfhkllnnrtvv19 s suffix name gunzip acfhkllnnrtvv s suffix ...
python壓縮與解壓縮
import zipfile import os file dir r d test zip file r d test.zip 建立zip物件 f zip zipfile.zipfile zip file,w zipfile.zip deflated 遍歷要壓縮的目錄 file list os.l...