文字列の内容を持つファイルのようなオブジェクト (ファイルと同じダック型) を作成するにはどうすればよいですか?
Daryl Spitzer
質問する
60741 次
5 に答える
138
Python 2.x の場合は、StringIOモジュールを使用します。例えば:
>>> from cStringIO import StringIO
>>> f = StringIO('foo')
>>> f.read()
'foo'
私は cStringIO (より高速) を使用しますが、プレーン ASCII 文字列としてエンコードできない Unicode 文字列を受け入れないことに注意してください。(「from cStringIO」を「from StringIO」に変更することで StringIO に切り替えることができます。)
Python 3.x の場合は、io
モジュールを使用します。
f = io.StringIO('foo')
于 2008-09-26T19:34:04.977 に答える
38
Python 3.0 では:
import io
with io.StringIO() as f:
f.write('abcdef')
print('gh', file=f)
f.seek(0)
print(f.read())
出力は次のとおりです。
'abcdefgh'
于 2008-09-26T22:00:25.923 に答える
2
2つの良い答え。ちょっとしたトリックを追加します — 実際のファイル オブジェクトが必要な場合 (インターフェースだけでなく、一部のメソッドはファイル オブジェクトを必要とします)、アダプターを作成する方法は次のとおりです。
于 2008-09-27T12:19:45.217 に答える