• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

open 함수의 한 ContextManager는 다른 방식으로 구현되어 있나요?

21.09.28 20:09 작성 조회수 238

0

with open 처럼 사용하기 위한 ContextManager를 만들 때 던더enter, 던더 exit를 구현해야한다고 하셨습니다.

open 함수는 TextIOWrapper Class 를 반환합니다.

TextIOWrapper 클래스는 던더 enter 만 제공되어 있고, 던더 exit 는 제공하지 않고 있습니다.

혹시 이 open 함수의 컨텍스트 관리자는 다른 방식으로 구현되어 있나요?

답변 1

답변을 작성해보세요.

0

https://sangeeta.io/posts/python-context-managers/

위 링크에서 중간부분 보시면

__exit__ 메소드는 반드시 가져야 됩니다.

상속관계를 살펴보시면 __exit__ 호출 되거나, 직접 구현해서 사용하실 수 있습니다.

답변 감사합니다. 링크에서 dir로 메소드 찾아내네요. 다음부터는 dir 찍어보는 습관을 지닐께요 감사합니다.