如何在 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 3兼容参考图 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中文网其他相关文章!