###
4.9.1.2 StreamWriter オブジェクト

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

class `StreamWriter`( | stream[, errors])

  Constructor for a `StreamWriter` instance. `StreamWriter` インスタンスのコンストラクタ。

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

  stream は、（バイナリで）書き込み可能なファイル的なオブジェクト でなくてはいけ ません。

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

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

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

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

`write`( | object)

  Writes the object's contents encoded to the stream. エンコードされた object の内容をストリームに書き出す。

`writelines`( | list)

  連結した、文字列リストを(おそらくは `write()` メソッドを再利 用して)ストリームに書き出す。

`reset`( | )

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

  このメソッドの呼び出したとき、出力先データをきれいな状態にし、状態を 元に戻すのにストリーム全体 を再スキャンすることなく、新しくフラッシュ するデータを追加できるように保障するべきです。

ここまでで挙げたメソッドに加えて、`StreamWriter` は、元になってい るストリームから、他の全てのメソッドや属性を、継承しなければなりません。