python壓縮解壓縮 Python 壓縮與解壓縮

2021-10-11 03:03:06 字數 2116 閱讀 3169

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...