7.17.2 逐次的な圧縮(解凍)

逐次的な圧縮および解凍は BZ2Compressor および BZ2Decompressor クラスを用いて行われます。

class BZ2Compressor( [compresslevel])
新しい圧縮オブジェクトを作成します。このオブジェクトはデータを逐次的に 圧縮できます。一括してデータを圧縮したいのなら、compress() 関数を代りに使ってください。compresslevel パラメタを与える場合、 この値は 1 and 9 の間の整数でなければなりません。 デフォルトの値は 9 です。

compress( data)
圧縮オブジェクトに追加のデータを入力します。データが圧縮された チャンクを生成することができた場合にはチャンクを返します。 圧縮データの入力を終えた後は 圧縮処理を終えるために flush() を呼んでください。 内部バッファに残っている未処理のデータが返されます。

flush( )
圧縮処理を終え、内部バッファに残されているデータを返します。 メソッドを呼んだ後は、この圧縮オブジェクトを使うべきではありません。

class BZ2Decompressor( )
新しい解凍オブジェクトを生成します。このオブジェクトは逐次的にデータ を解凍できます。一括してデータを解凍したいのなら、 decompress() 関数を代りに使ってください。

decompress( data)
解凍オブジェクトに追加のデータを入力します。可能な限り、データが 解凍されたチャンクを生成することができた場合にはチャンクを 返します。ストリームの末端に到達した後に解凍処理を行おうと した場合には、例外 EOFError が送出されます。 ストリームの終末端の後ろに何らかのデータがあった場合には、解凍 操作からは無視され、このデータはオブジェクトの unused_data 属性に収められます。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。