gzip
和 bz2
模塊可以很容易的處理這些文件。 兩個模塊都為 open()
函數提供了另外的實現來解決這個問題。
比如,為了以文本形式讀取壓縮文件,可以這樣做:
# gzip compression import gzip with gzip.open('somefile.gz', 'rt') as f: text = f.read() # bz2 compression import bz2 with bz2.open('somefile.bz2', 'rt') as f: text = f.read()
類似的,為了寫入壓縮數據,可以這樣做:
# gzip compression import gzip with gzip.open('somefile.gz', 'wt') as f: f.write(text) # bz2 compression import bz2 with bz2.open('somefile.bz2', 'wt') as f: f.write(text)
如上,所有的I/O操作都使用文本模式並執行Unicode的編碼/解碼。
類似的,如果你想操作二進制數據,使用 rb
或者 wb
文件模式即可。