fin은 입력에 사용하는 파일 객체의 공통 이름이다. 파일 객체에는 readline을 비롯해 몇 가지 읽기 메서드를 제공하며 readline은 파일에서 새줄(newline)까지 문자들을 읽어 들여서 결과를 문자열로 반환한다.
>>> fin.readline()
'aa\r\n'
십자말풀이 단어 목록에서 첫 번째 단어는 “aa”는 용암의 한 종류다.* 시퀀스 \r\n은 이 단어와 다음 단어를 분리하는 캐리지 리턴(carriage return)과 새줄 문자를 나타내는 제어 문자다.**
파일 객체는 파일의 위치를 알고 있으므로 readline을 다시 호출하면 다음 단어를 얻을 수 있다.
>>> fin.readline()
'aah\r\n'
* 역주 aa(아아용암)는 표면이 거친 용암을 뜻하며, ‘아아’는 하와이의 토착어에서 유래했다.
** 역주 캐리지 리턴은 해당 줄의 앞으로 이동한다. 즉, \r\n은 해당 줄의 앞으로 이동하고 새줄로 줄을 바꾼다는 뜻이다. 이는 원래 타자기의 구조에서 유래한 용어다.