incastle의 콩나물

StringIO는 언제 사용하는가? 본문

python

StringIO는 언제 사용하는가?

incastle 2022. 1. 4. 20:05

The StringIO module is an in-memory file-like object.

StringIO는 파일류 객체로 사용할 수 있는 클래스입니다. 데이터가 디스크에 기록되는 대신 메모리의 버퍼(문자열 버퍼)에 기록된다는 점을 제외하고는 일반 파일과 똑같이 사용할 수 있습니다.

import io

output = io.StringIO()
output.write('First line.\n')
print('Second line.', file=output)

# Retrieve file contents -- this will be
# 'First line.\nSecond line.\n'
contents = output.getvalue()

# Close object and discard memory buffer --
# .getvalue() will now raise an exception.
output.close()

close() 메서드가 호출될 때 텍스트 버퍼가 폐기된다.  줄 바꿈 변환이 활성화되면, 줄 바꿈은 write() 한 것처럼 인코딩된다.  신기한 건 print문도 file=output으로 설정해두면 stringio에 추가된다. 

Comments