Python에서 파일 처리를 하는 경우 파일을 open 한 후에 close 작업을 해줘야 한다.
하지만 매번 이렇게 할 경우 귀찮음은 물론이고 잊어 버릴 수도 있다.
예를들어 다음과 같은 경우
이런식으로 해줘야 한다.
어떤 오브젝트를 open하고 매번 close 하는일은 C에서나 할 법한 일이다.
Python은 그런 귀차니즘을 덜어내주기 위해 python 2.5에서 부터는 다음과 같은 문이 존재한다.
with A:
pass
with 블럭이 시작되는 시점에 A.enter()를 호출하고 빠져나오는 시점에 A.exit()를 호출한다.
예를 들어
위와
이는 객체에서 enter와 exit()함수가 정의 되어 있어야 한다.