본문 바로가기
Python/Python FAQ

Python3에서 StringIO를 사용하는 방법은 무엇인가요?, How to use StringIO in Python3?

by 베타코드 2023. 9. 8.
반응형

질문


나는 Python 3.2.1을 사용하고 StringIO 모듈을 가져올 수 없습니다. io.StringIO를 사용하고 작동하지만 numpygenfromtxt와 함께 사용할 수 없습니다:

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에서 새로운 내용에 따르면:

StringIOcStringIO 모듈은 사라졌습니다. 대신, 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라는 메시지에 대한 더 직접적인 해결책은 이 답변을 참조하세요.

반응형

댓글