더북(TheBook)

파일 반복자에서 추가적인 개행(newline)을 제거해야 하는 점은 우아하지 않지만, 이 코드는 반드시 파일이 닫히는 것을 보장하기 때문에 안전할 뿐만 아니라 메모리에 파일마다 단 하나의 데이터 복사본만 존재하기에 전반적으로 훨씬 간결하고 표현력이 좋은 코드입니다. 추가적인 이름이 이름 공간(namespace) 안에 남아 있지만 실제로는 닫혀 있는 상태이기에 메모리를 거의 차지하지 않습니다.

>>> names
<_io.TextIOWrapper name='station-names.txt' mode='r' encoding='UTF-8'>
>>> next(names)
Traceback (most recent call last): 
[...]
ValueError: I/O operation on closed file.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.