파일을 읽을 때( readline() )와 관련한 질문입니다.
'점프 투 파이썬-4-3 파일을 읽고 쓰기' 에서
프로그램의 외부에 저장된 파일을 읽을 때
f = open("C:/doit/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
이렇게 하면 된다고 하셨습니다.(첫번째 방법이라고 지칭하겠습니다)
근데 여기서 궁금증이 생겼습니다.
line = f.readline()과 같이 변수 저장을 꼭 해줘야 하는걸까?
그래서 변수 저장 없이
f = open("C:/doit/새파일.txt", 'r')
while True:
if not f.readline(): break
print(f.readline())
f.close()
이렇게 코드를 짜 실행해보았습니다.(두번째 방법이라고 지칭하겠습니다)
여기서 제가 임의로 설정한 "새파일.txt"는 아래와 같습니다.
1111
2222
3333
첫번째 방법으로 실행하면
1111
2222
3333
이 출력되고
두번째 방법으로 실행하면
2222
#빈 줄
#빈 줄
이 출력됩니다. (#빈 줄은 빈 줄이 출력된다는 의미입니다.)
왜 이런 결과가 나타나는 걸까요?
왜 변수에 저장해야 의도한 대로 결과가 나오는지 알고싶습니다.
쀼 님 410
2022년 1월 12일 2:57 오후