ホームページ >バックエンド開発 >Python チュートリアル >Python 3 で StringIO を置き換える方法は?
Python 3 で StringIO を使用する方法
Python 3.2.1 で StringIO モジュールをインポートすると、「ImportError: No module」というエラーが発生する場合があります「StringIO」という名前。これは、このモジュールが Python 3 で非推奨になったためです。
Python 3 で同等の機能を使用するには、代わりに io.StringIO クラスまたは io.BytesIO クラスを利用します。
<code class="python">import io x = "1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x))</code>
このアプローチPython 3 で Python 2 の StringIO 実装を直接使用するときに発生する可能性のある TypeError を解決します。
Python 2 と 3 の両方との互換性については、次のコード スニペットを検討してください:
<code class="python">try: from StringIO import StringIO ## for Python 2 except ImportError: from io import StringIO ## for Python 3</code>
ただし、これは重要です。 Python 3 で暗黙的にバイト オブジェクトを文字列に変換しようとすると、依然としてエラーが発生する可能性があることに注意してください。この問題の詳細については、提供されている Stack Overflow の回答を参照してください。
以上がPython 3 で StringIO を置き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。