8.6
파일 한 번에 열고 닫기: with 문
파일로 어떤 작업을 할 때 open() 함수로 파일을 열고 나면 반드시 close() 함수로 닫아야 한다고 했습니다. 여기서는 close() 함수를 항상 잊지 말아야 하는 부담을 해소해 보겠습니다.
with 문은 파일을 열고 나서 close() 함수를 호출하지 않아도 자동으로 닫아 주는 역할을 합니다. 형식은 다음과 같습니다.
형식
with 작업 as 변수명: 실행할 명령1 실행할 명령2 ...
with 뒤에 오는 작업 위치에 파일을 여는 open() 함수가 들어갑니다. open() 함수로 열린 파일은 as 뒤에 있는 변수명으로 접근할 수 있습니다. 제어문이나 def로 함수를 정의할 때처럼 문장 끝에 콜론(:)을 붙입니다. with 문에서 실행할 명령문들은 이에 속해 있음을 표시하도록 반드시 들여쓰기해야 합니다.