[점프투파이썬] 종합문제 Q8. 질문

Q8.

역순 저장

파일 객체의 readlines를 사용하여 모든 라인을 읽은 후에 reversed를 사용하여 역순으로 정렬한 다음 다시 파일에 저장한다.

f = open('abc.txt', 'r')
lines = f.readlines()    # 모든 라인을 읽음
f.close()

lines.reverse()          # 읽은 라인을 역순으로 정렬

f = open('abc.txt', 'w')
for line in lines:
    line = line.strip()  # 포함되어 있는 줄 바꿈 문자 제거
    f.write(line)
    f.write('\n')        # 줄 바꿈 문자 삽입
f.close()

여기서 lines.reverse() 가 f.close()다음에 나와도 되는 지 궁금합니다
f.close()로 파일을 닫아준 상태에서 reverse함수를 써도 파일 안에 있는 내용이 리버스 되는지
그리고 따로 변수로 저장하지 않아도 리버스된 상태가 유지되는지 궁금합니다

얌미 504

2020년 8월 13일 3:55 오후

목록으로
1개의 답변이 있습니다. 1 / 1 Page

lines = f.readlines() 로 얻은 lines 는 리스트 객체이므로 파일 객체 f와는 상관이 없습니다.
따라서 close후에 reverse 해도 됩니다.

lines.reverse() 역시 객체 그 자체를 변화시키므로 따로 변수를 지정할 필요도 없습니다.

박응용

2020년 8월 13일 8:34 오후