콘텐츠로 건너뛰기
Home » 컨텍스트 매니저

컨텍스트 매니저

async with : 비동기 컨텍스트 매니저

파이썬의 컨텍스트 매니저with 블럭을 적용할 수 있는 객체를 말한다. 이러한 객체들은 with 절에서 마치 블럭에 대한 데코레이터처럼 동작한다. 가장 흔한 예가 open() 함수로 생성하는 파일 입출력스트림으로, with 구문 내에서 쓰이면 블럭을 빠져나갈 때 파일을 닫는 동작을 자동으로 수행하게 된다.

with open('data.txt') as f:
  for line in f:
    print(line)

컨텍스트 매니저 객체는 __enter__(), __exit__() 두 개의 내장 메소드를 가지고 있는 것으로 간주된다. 위 코드에서는 with 다음에 나오는 open('data.txt') 라는 코드는 파일에 대한 입출력 스트림을 반환한다. 그리고 with 문을 빠져나갈 때, 파일에 대해 __exit__()가 호출되고 여기서 파일이 닫힐 것이다.

더 보기 »async with : 비동기 컨텍스트 매니저