10_파이썬 중급 문제풀이

ryu·2023년 5월 18일
0

파이썬 파일 사용 복습

기본구조

  • open('경로', '모드'): 파일 열기
  • .write('내용'), .read(): 쓰기 or 읽기
  • .close(): 파일 닫기

사용한 파일을 직접 닫아야 하는 이유

  • 일반적으로는 파이썬이 자동으로 메모리를 관리해주기 때문에, 사용자가 직접 닫지 않아도 가비지 컬렉터가 파일을 닫아줌
  • 하지만 개발자가 직접 닫아주는 것이 권장됨
    • 첫 번째로 사용이 끝난 파일을 바로 닫아주지 않으면, 메모리 공간의 낭비를 초래함
      • 파일을 사용한다는 것은 그만큼의 메모리를 사용하는 것이기 때문에 사용하는 파일의 크기에 따라서 메모리 공간이 낭비되고, 이로 인해 성능에 영향을 줄 수 있음
    • 두 번째로 파일을 닫지 않을 경우 변경한 내용이 저장되지 않을 수 있음
      • 운영체제는 파일을 처리할 때 성능을 위해 데이터를 버퍼라는 임시공간에 저장한 뒤 파일을 씀. 때에 따라서 파일이 닫히는 시점에 내용이 파일에 저장되므로 파일을 직접 닫아주어야 함

with ~ as

  • 위와 같은 이유로 인해 파일을 직접 닫아주는 것이 권장됨
  • 하지만 .close()를 사용하여 파일을 닫는 것보다는 with ~ as를 사용하여 파일을 닫는 방법이 바람직함
  • 앞서 말한 것처럼 파일은 닫히는 시점에 내용이 저장되는 경우가 있는데, open - read/write - close 구조로 파일을 닫을 경우 read, write 메서드 도중에 에러가 발생할 경우 파일이 닫히지 못해 내용이 저장되지 않는 경우가 발생할 수 있음
  • with ~ aswith 문이 종료되는 시점에 파일이 닫힐 뿐만 아니라 도중에 예외가 발생하더라도 파일을 닫아줄 수 있음
  • 따라서 close보다는 with ~ as를 적극 사용하도록 하자

0개의 댓글