인프런 커뮤니티 질문&답변

수줍은질럿님의 프로필 이미지
수줍은질럿

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

파일입출력

(04:35 - 06:05) 다르게 시도해보았는데 같은 결과가 안나오네요.

해결된 질문

작성

·

192

0

"입출력" 영상의 04:35부터 06:05까지 선생님께서 작성하신 코드는 다음과 같습니다.

(1)

score_file=open("score.txt","r",encoding="utf8")
print(score_file.readline(), end="")
print(score_file.readline(), end="")
print(score_file.readline(), end="")
print(score_file.readline(), end="")
score_file.close()

이 부분을 보고, 또 다음 예제들을 보면서 이런 생각을 했습니다.

line이라는 변수를 따로 지정해서 여러 번 print해주면 되지 않을까? 실제로 이와 비슷한 방법을 다음 예제들에서 쓰고 계신 것 같습니다. 따라서 다음과 같이 해봤습니다.

(2)

score_file=open("score.txt","r",encoding="utf8")
line=score_file.readline()
print(line)
print(line)
print(line)
print(line)
score_file.close()

하지만 그 결과는, (1)과 달랐습니다. (1)에서는 수학, 영어, 과학, 코딩의 네 줄이 모두 출력된 반면 (2)에서는 수학만 네 번 나왔습니다.  

이와 같은 현상이 발생하는 이유는 무엇인가요? (2)에서는 첫번째 print(line) 이후에 커서가 아래로 이동하지 않는 것인가요?

답변 2

1

나도코딩님의 프로필 이미지
나도코딩
지식공유자

안녕하세요 ^^

위 예제에서는 매번 readline()을 하지만 밑에 예제는 readline() 을 통해 받아온 값을 line 에 저장을 하고, 저장된 line 만 4번 출력해서 같은 값이 나온거에요. readline() 함수가 매번 실행되어야 파일에 있는 값을 읽어온답니다.

감사합니다.

0

감사합니다~

수줍은질럿님의 프로필 이미지
수줍은질럿

작성한 질문수

질문하기