# 7.17 `bz2` -- bzip2 互換の圧縮ライブラリ

バージョン2.3 以降で新規追加された 仕様です。

このモジュールでは bz2 圧縮ライブラリのためのわかりやすいインタフェースを 提供します。モジュールでは完全なファイルインタフェース、データを一括 して圧縮（解凍）する関数、データを逐次的に圧縮（解凍）するためのクラス 型を実装しています。

bz2 モジュールで提供されている機能を以下にまとめます:

- `BZ2File` クラスは、`readline()`, `readlines()`, `writelines()`, `seek()`, 等を含む完全な ファイルインタフェースを実装します。
- `BZ2File` クラスは `seek()` をエミュレーションで サポートします。
- `BZ2File` クラスは広範囲の改行文字バリエーションを サポートします。
- `BZ2File` クラスはファイルオブジェクトで言うところの、先読み アルゴリズムを用いた行単位の反復処理機能を提供します。
- 逐次的圧縮（解凍）が `BZ2Compressor` および `BZ2Decompressor` クラスでサポートされています。
- 一括圧縮（解凍）が関数 `compress()` および `decompress()` でサポートされています。
- 個別のロックメカニズムによってスレッド安全性を持っています。
- 埋め込みドキュメントが完備しています。