python~module gzip 使用方法,及簡介! 附件 python ~ os 模組!!!
阿新 • • 發佈:2019-01-06
這個模組提供了一些簡單的介面來對檔案進行壓縮和解壓縮
類似於GNU專案的gzip和gunzip,資料的壓縮源於zlib模組的支援。
gzip.open(filename, mode='rb', compresslevel=9, encoding=None, errors=None, newline=None)
開啟一個gzip已經壓縮好的gzip格式的檔案,並返回一個檔案物件:file object.
引數filename可以是真是的檔名(a str or bytes物件),或著是已經存在的讀寫檔案物件。
引數mode在操作二進位制的時候使用:'r','rb','a','ab','wb'
操作text的時候使用:'rt,'at','wt'
預設是:'rb'
引數compresslevel是0-9的數值
如何讀取壓縮檔案
import gzip
with gzip.open('/home/joe/file.txt.gz', 'rb') as f:
file_content = f.read()
如何建立一個gzip檔案
import gzip
content = b"Lots of content here"
with gzip.open('/home/joe/file.txt.gz', 'wb') as f:
f.write(content)
如何gzip一個已存在的檔案(把已有檔案轉換成gzip格式)
import gzip
import shutil
with open('/home/joe/file.txt', 'rb') as f_in:
with gzip.open('/home/joe/file.txt.gz', 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
如何gzip壓縮一個二進位制字元
import gzip
s_in = b"Lots of content here"
s_out = gzip.compress(s_in)
使用gzip模組壓縮檔案
>>> import gzip #匯入python gzip模組,注意名字為全小
>>> g = gzip.GzipFile(filename="", mode="wb", compresslevel=9, fileobj=open('sitemap.log.gz', 'wb'))
>>> g.write(open('d:\\test\\sitemap.xml').read())
>>> g.close()
其中,filename引數是壓縮檔案內,檔案的名字,為空也可以,不修改
fileobj是生成的壓縮檔案物件,它的路徑名稱等。
最後是把檔案寫入gzip檔案中去,再關閉操作連線。
filename = 'd:........' whatever ,例如:'d:\\test\\sitemap.log.gz'
使用gzip模組解壓縮檔案
>>> g = gzip.GzipFile(mode="rb", fileobj=open('d:\\test\\sitemap.log.gz', 'rb')) # python gzip 解壓
>>> open(r"d:\\haha.xml", "wb").write(g.read())
使用的時候注意,函式方法的大小寫一點要看仔細
如果gzip檔案是這種形式的:*.tar.gz,證明先是由tar命令壓縮後
後再由 gzip壓縮的需要先用解壓縮tar檔案,再用gzip模組解壓縮
其實,現在很多網頁為了提高瀏覽器端使用者的訪問速度,和搜尋引擎爬蟲抓取的速度,都在使用gzip壓縮。
還不清楚看這裡! 或者這裡! os模組看這裡