-
io.StringIO()란?카테고리 없음 2022. 7. 27. 14:37
어디서 문제가 생겼나?
NLP 구현을 위한 코드를 찾아보다가, 일반 파이썬 소스 코드를 AST 형태로 바꿔놓는 코드를 읽다가, buf = StringIO() 라는 부분에서 처음 마주했다. StringIO() 가 궁금했다.
어떤 것을 배웠나?
StringIO() 는 문자열을 입력받음에도, 이를 파일처럼 간주하고 작업할 수 있게 해주는 도구이다.
파일에만 쓸 수 있는 함수들이 따로 있기 때문에, 문자열을 파일로 퉁 쳐 주는 역할인 것 같다.
아래의 위키 독스 예제를 빌려오면.
with io.StringIO() as f:
result = execute(f)
print(result)
처럼 사용할 수 있다. io 라이브러리를 import 하여 사용하면 된다.
+ 개념
io 모듈은, input 과 output 을 처리해주는 도구이다. text, binary, raw 처럼 다양한 형태로 입출력이 오고 갈때, 이를 처리하기 위하여 자료형을 바꿔주는 식의 작업이 필요한 것이다. IOerror 는 파이썬 3.3 이후부터는 OSError 로 보인다고 한다.
reference:
https://docs.python.org/ko/3/library/io.html