1. ホーム
  2. python

[解決済み] Pythonでファイル中の文字列をラップするには?

2022-11-25 04:42:26

質問

文字列の内容でファイルのようなオブジェクト(Fileと同じダックタイプ)を作成するにはどうしたらよいですか?

どのように解決するのですか?

Python 2.xの場合、Python 2.xに対応するために ストリングIO モジュールを使用します。 例えば

>>> 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')