score_file = open("score.txt", "r", encoding="utf8")
while True:
line = score_file.readline()
if not line: # 더 이상 읽어 올 내용이 없을 때
break # 반복문 탈출
print(line, end="") # 읽어 온 내용 출력
score_file.close()
실행결과 |
수학 : 0 영어 : 50 과학 : 80 코딩 : 100 |
while 문의 조건을 True로 설정해서 탈출 조건을 만나기 전까지 반복 수행하게 합니다. 반복할 때마다 파일에서 한 줄씩 읽어 와서 line이라는 변수에 저장합니다. if 문으로 line 변수에 내용이 있는지 확인하고 있으면 출력, 없으면 반복문을 탈출하는 원리입니다.
비슷한 방법으로 파일 내용을 한꺼번에 불러와서 리스트에 저장해 두고 리스트를 반복하면서 내용을 출력할 수도 있습니다. 이때는 앞에서 사용한 readline() 함수 대신에 끝에 s가 붙은 readlines() 함수를 사용합니다. 이 함수로 파일 내 모든 줄을 읽어 와서 lines라는 리스트에 저장합니다. 그리고 while 문 대신에 for 문을 사용해 리스트 데이터를 순서대로 읽어 옵니다.