파이썬
with문은 시작 시점에 해당 클래스의 __enter__(self) 메쏘드를 호출해주고, with문 끝에 __exit__(type, value, traceback)메쏘드를 호출
혜룐
2016. 1. 5. 10:50
* with 문
시작-처리-종료의 과정을 밟는 파일 처리, 데이터베이스처리, 네트워크 처리를 다루는 클래스를 위해서 파이썬은 with 문을 제공하고 있다. 문법은 아래와 같다.
with 클래스 생성자 as 오브젝트:
코드블럭
파일을 예로 든다면
f = file('test.txt','r')
for line in f:
print line
f.close()
은 with 문으로 전환하면 아래와 같이 전환시킬 수 있다.
with file('test.txt','r') as f:
for line in f:
print line
with문은 시작 시점에 해당 클래스의 __enter__(self) 메쏘드를 호출해주고, with문 끝에 __exit__(type, value, traceback)메쏘드를 호출해 주므로 해당 시점에 적절한 코드를 클래스 정의에 포함시키면 with문에 따른 효과적인 처리가 가능해진다.