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

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

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

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

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