ご存知のようstr
に、Python 言語のバージョン 2.x とバージョン 3.x では、型の意味が異なります。残念ながら、多くのフレームワークと API は、意味と動作の変更を無視して、それで動作することを期待しています。例として、logging
フレームワークとWSGI
API があります。logging.StreamHandler
a がストリームに書き込むとき、それはstr
、notbytes
および not を書き込みますunicode
。
非オプション:
StringIO.StringIO
: Python 3.x では使用できませんio.BytesIO
: Python 3.x がstr
(つまり unicode) を書き込むと失敗しますio.StringIO
: Python 2.x がstr
(iebytes
) を書き込むと失敗します
StringIO
では、で動作するようなオブジェクトを取得するにはどうすればよいstr
でしょうか?