文字列の内容を使用してファイルのようなオブジェクト(Fileと同じダックタイプ)を作成するにはどうすればよいですか?
回答:
Python 2.xの場合、StringIOモジュールを使用します。例えば:
>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'
私はcStringIO(より高速)を使用していますが、プレーンASCII文字列としてエンコードできないUnicode文字列を受け入れないことに注意してください。(「fromcStringIO」を「fromStringIO」に変更することでStringIOに切り替えることができます。)
Python 3.xの場合は、io
モジュールを使用します。
f = io.StringIO('foo')
io.StringIO(u'foo')
これを使用します
2つの良い答え。ちょっとしたトリックを追加します—実際のファイルオブジェクトが必要な場合(一部のメソッドはインターフェイスだけでなくオブジェクトを期待します)、アダプターを作成する方法は次のとおりです。