파이썬 파일 사용 복습
기본구조
open('경로', '모드')
: 파일 열기
.write('내용')
, .read()
: 쓰기 or 읽기
.close()
: 파일 닫기
사용한 파일을 직접 닫아야 하는 이유
- 일반적으로는 파이썬이 자동으로 메모리를 관리해주기 때문에, 사용자가 직접 닫지 않아도 가비지 컬렉터가 파일을 닫아줌
- 하지만 개발자가 직접 닫아주는 것이 권장됨
- 첫 번째로 사용이 끝난 파일을 바로 닫아주지 않으면, 메모리 공간의 낭비를 초래함
- 파일을 사용한다는 것은 그만큼의 메모리를 사용하는 것이기 때문에 사용하는 파일의 크기에 따라서 메모리 공간이 낭비되고, 이로 인해 성능에 영향을 줄 수 있음
- 두 번째로 파일을 닫지 않을 경우 변경한 내용이 저장되지 않을 수 있음
- 운영체제는 파일을 처리할 때 성능을 위해 데이터를 버퍼라는 임시공간에 저장한 뒤 파일을 씀. 때에 따라서 파일이 닫히는 시점에 내용이 파일에 저장되므로 파일을 직접 닫아주어야 함
with ~ as
- 위와 같은 이유로 인해 파일을 직접 닫아주는 것이 권장됨
- 하지만
.close()
를 사용하여 파일을 닫는 것보다는 with ~ as
를 사용하여 파일을 닫는 방법이 바람직함
- 앞서 말한 것처럼 파일은 닫히는 시점에 내용이 저장되는 경우가 있는데,
open - read/write - close
구조로 파일을 닫을 경우 read, write
메서드 도중에 에러가 발생할 경우 파일이 닫히지 못해 내용이 저장되지 않는 경우가 발생할 수 있음
with ~ as
는 with
문이 종료되는 시점에 파일이 닫힐 뿐만 아니라 도중에 예외가 발생하더라도 파일을 닫아줄 수 있음
- 따라서
close
보다는 with ~ as
를 적극 사용하도록 하자