如何在 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 中将 bytes 对象隐式转换为字符串仍然会导致错误。有关此问题的更多信息,请参阅提供的 Stack Overflow 答案。
以上是如何替换Python 3中的StringIO?的详细内容。更多信息请关注PHP中文网其他相关文章!