10 3 bz2 支援bzip2壓縮和解壓

2021-07-11 16:17:42 字數 2061 閱讀 8888

本模組主要提供了支援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...