Articles

Python: Using StringIO and BytesIO for managing data as file object

Posted on

バッファモジュール(StringIO, BytesIO, cStringIO)を使うことで、文字列やバイトデータをファイルのように擬態することができます。

Python 2.7のStringIOモジュールはこれらのデータ蒸気を扱うことができました。

  • io.StringIOは、Unicode文字列を必要とします。
  • io.BytesIOは、バイト文字列を必要とします。
  • StringIO.StringIOは、Unicodeまたはバイト文字列のいずれかを許可します。
  • cStringIO.StringIOは、バイト文字列としてエンコードされた文字列を必要とします。

以下はioモジュールを使った簡単な例です

ここでは、連続した書き込みのたびに、ファイルと同じようにストリームオブジェクトにデータを追加しています

以下のメソッドについては特に注意が必要です。

getvalue()

ファイルオブジェクトのclose()メソッドが呼び出される前に、ファイルの内容全体をいつでも取得します。

close()

メモリバッファを解放し、bufferオブジェクトでの作業を終了します。

seek()

ファイルの開始を表すseek(0)のように、データの上にカーソルを移動するためにseekを使用することができます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です