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