반응형
질문
나는 Python 3.2.1을 사용하고 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'
답변
제가
import StringIO
를 작성하면 해당 모듈이 없다고 나옵니다.
파이썬 3.0에서 새로운 내용에 따르면:
StringIO
와cStringIO
모듈은 사라졌습니다. 대신,io
모듈을 import하고 텍스트와 데이터에 각각io.StringIO
또는io.BytesIO
를 사용하세요.
.
Python 2 코드를 Python 3에서도 작동하도록 수정하는 데 유용한 방법:
try:
from StringIO import StringIO ## Python 2용
except ImportError:
from io import StringIO ## Python 3용
참고: 이 예제는 질문의 주된 문제와는 관련이 없을 수 있으며,
StringIO
모듈이 누락된 경우에 대해 일반적으로 고려할 사항으로 포함되었습니다.TypeError: Can't convert 'bytes' object to str implicitly
라는 메시지에 대한 더 직접적인 해결책은 이 답변을 참조하세요.
반응형
댓글