readlines 이부분에서 이해가 안되는 부분이 있어요!

조회수 61회

예를들어서 txt(메모)파일에 있는 내용이 이름, 몸무게,키 라고 가정할때

f =open("~.txt", "r")
print(f.realines())
f.close

이렇게 쓰면 리스트 형식으로 출력되는건 알겠습니다.

그런데

f =open("~.txt", "r")
r = f.readlines()
for i in r :
   print(i ,end="")
f.close

이런 코드면 한줄마다 끊겨서 출력이되는 이유가뭔가요?

i in r < 이런건 처음보는데.. ~ in range 처럼 반복문이 아니라면 i in r 은 정확하게 뭘 뜻하는건가요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    readlines() 함수는 텍스트 파일에서 모든 문장을 읽어 리스트로 반환해 줍니다. 이 때 리스트에는 텍스트 파일의 내용이 한줄씩 저장되어 있습니다. 예를 들어, ['첫번째줄 내용', '두번째줄 내용', '세번째줄 내용',...] 식으로 저장된 리스트를 반환합니다.

    질문에서 r=f.readlines()에서 반환된 r이 텍스트 파일의 내용이 한줄씩 저장되어 반환된 리스트입니다.

    for i in r:에서 r이 리스트인 경우에는, 포 루프가 돌면서 리스트 r의 요소를 하나씩 순차적으로 가져와서 i에 넣어 줍니다.

    아래 예제를 보시면, r이 리스트이기 때문에 포루프가 돌면서 순차적으로 리스트의 요소를 하나씩 i에 넣어줍니다. 그래서 결과에 보시면 한줄씩 차례대로 print로 출력된 결과입니다.

    r=['1번째줄\n', '2번째줄\n', '3번째줄\n']
    
    for i in r:
        print(i)
    
    
    • 결과

    이미지

    • 감사합니다!! 덕분에 잘 배워갑니다! 김상협 2021.2.14 19:04

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.