本模組主要提供了支援bzip2
壓縮演算法的操作功能。
bz2庫包含內容:
open()
函式和bz2file
類主要用來讀寫壓縮的檔案;
bz2compressor
和bz2decompressor
類提供增量式的壓縮和解壓縮;
compress()
和decompress()
函式提供了一次性地壓縮和解壓的資料功能。
bz2.open(filename, mode='r', compresslevel=9, encoding=none, errors=none, newline=none)
開啟乙個 bzip2
壓縮的檔案物件返回,開啟方式可以是二進位制或文字方式。引數
filename
可以是乙個檔名稱,或者乙個已經存在的檔案物件;引數
mode
是開啟檔案的方式,可以支援:
'r', 'rb', 'w', 'wb', 'x', 'xb', 'a', 'ab', 'rt', 'wt', 'xt', or 'at'
;引數compresslevel
是壓縮級別,可以是1到
9級別;對於文字方式可以使用引數
encoding/errors/newline
等引數。
class bz2.bz2file(filename, mode='r', buffering=none, compresslevel=9)
以二進位制的方式開啟bzip2
壓縮的檔案。如果引數
filename
是str
或bytes
型別,直接開啟此檔案,否則就當作檔案物件來操作;引數
mode
與前面函式一樣;引數
buffering
已經不再使用,忽略掉;引數
compresslevel
與前面函式一樣。
peek([n])
返回緩衝區裡的資料,但不移動檔案位置指標。
class bz2.bz2compressor(compresslevel=9)
建立乙個新壓縮物件,本物件使用在增量式地壓縮資料。引數compresslevel
是壓縮級別,範圍是1到
9,預設值是
9.compress(data)
提供部分資料給壓縮物件,返回一塊已經壓縮的資料物件,或空物件。剩餘部分資料等到呼叫flush()
函式才會進行壓縮返回。
flush()
完成壓縮過程,返回最後壓縮的資料物件。
class bz2.bz2decompressor
建立解壓縮物件,增量式地解壓縮。
decompress(data)
對提供的資料嘗試解壓縮,如果可以解壓就返回解壓的資料物件。
eof
如果到達檔案尾返回true
。unused_data
結束了壓縮流之後未曾使用的資料。
bz2.compress(data, compresslevel=9)
對資料data
進行一次性地壓縮。
bz2.decompress(data)
對資料data
進行一次性地解壓。
例子:#python 3.4
from bz2 import bz2file
line = b''
with bz2file('test.bz2', 'wb') as f:
f.write(line)
with bz2file('test.bz2', 'rb') as f:
test = f.read()
print(test)
結果輸出如下:
b''
linux壓縮命令 bzip2
bzip2命令採用新的壓縮演演算法,壓縮效果比傳統的lz77 lz78壓縮演演算法來得好。若沒有加上任何引數,bzip2壓縮完檔案後會產生.bz2的壓縮檔案,並刪除原始的檔案。眾所周知,壓縮有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。其壓縮的檔案字尾為 bz2...
CentOS的壓縮與解壓縮(bzip2與gzip)
此處只需要知道在這是兩種不同的壓縮方式,並且字尾分別是.bz2與.gz即可。兩種壓縮不通用。當然也有其他的壓縮方式,這裡不多描述,只選擇這兩種常用的。通常,我們在win下的壓縮是對乙個資料夾或者多個檔案進行的,但在linux是無法直接使用bzip2或者gzip對目錄或者檔案進行壓縮操作的,這個時候,...
mac sublime2支援中文
一 安裝package control 按照提示複製一段python命令安裝package control,也可以直接複製這一段到控制台 ctrl import urllib2,os pf package control.sublime package ipp sublime.installed p...