###
4 StreamWriter オブジェクト

`StreamWriter` クラスは `Codec` のサブクラスで、以下のメソッ ドを定義しています。全てのストリームライタは、Python の codec レジス トリとの互換性を保つために、これらのメソッドを定義する必要があります。

クラス `StreamWriter`( | stream[, errors])

  `StreamWriter` インスタンスのコンストラクタです。

  全てのストリームライタはコンストラクタとしてこのインタフェースを提供 せねばなりません。キーワード引数を追加しても構いませんが、 Python の codec レジストリはここで定義されている引数だけを使います。

  stream は、(バイナリで) 書き込み可能なファイル類似のオブジェクト でなくてはなりません。

  `StreamWriter` は、errors キーワード引数を受けて、異なった エラー処理の仕組みを実装しても構いません。定義済みのパラメタを以下に 示します。

  - `'strict'` `ValueError` (または、そのサブクラス) 送出します。デフォルトの動作です。
  - `'ignore'` 文字を無視して、次の文字から続けます。
  - `'replace'` 適切な置換文字で置換します。
  - `'xmlcharrefreplace'` 適切な XML 文字参照で置換します。
  - `'backslashreplace'` バックスラッシュ付きのエスケープ シーケンスで置換します。

  errors 引数は、同名の属性に代入されます。この属性を変更すると、 `StreamWriter` オブジェクトが生きている間に、異なるエラー処理に 変更できます。

  errors 引数が取りえる値の種類は`register_error()` で 拡張できます。

`write`( | object)

  object の内容をエンコードしてストリームに書き出します。

`writelines`( | list)

  文字列からなるリストを連結して、(必要に応じて `write()` を 何度も使って) ストリームに書き出します。

`reset`( | )

  状態保持に使われていた codec のバッファを強制的に出力してリセット します。

  このメソッドが呼び出された場合、出力先データをきれいな状態にし、 わざわざストリーム全体を再スキャンして状態を元に戻さなくても 新しくデータを追加できるようにせねばなりません。

ここまでで挙げたメソッドの他にも、`StreamWriter` では背後にある ストリームの他の全てのメソッドや属性を継承せねばなりません。