我正在使用Python 3.2.1,但无法导入StringIO模块。我使用 io.StringIO和它的作品,但我不能使用它numpy的genfromtxt是这样的:
StringIO
io.StringIO
numpy
genfromtxt
x="1 3\n 4.5 8" numpy.genfromtxt(io.StringIO(x))
我收到以下错误:
TypeError: Can't convert 'bytes' object to str implicitly
当我写的import StringIO时候说
ImportError: No module named 'StringIO'
当我写导入StringIO时,它说没有这样的模块。
从Python 3.0的新功能开始:
在StringIO和cStringIO模块都没有了。而是导入io 模块,分别将io.StringIO或io.BytesIO用于文本和数据。
cStringIO
io.BytesIO
。
修复一些Python 2代码以使其在Python 3(caveat emptor)中工作的可能有用的方法:
Python 3(caveat emptor)
try: from StringIO import StringIO ## for Python 2 except ImportError: from io import StringIO ## for Python 3
注意:此示例可能与问题的主要内容相切,仅作为一般性地解决缺失StringIO模块时要考虑的内容。 有关消息的更直接解决方案TypeError: Can't convert 'bytes' object to str implicitly,