파이썬의 source code of open
부터, 나는 open
이 정상적인 기능이라고 생각합니다.왜 컨텍스트 관리자로 open()을 사용할 수 있습니까?
왜 아래와 같이 사용할 수 있습니까?
with open('what_are_context_managers.txt', 'r') as infile:
for line in infile:
print('> {}'.format(line))
은 이후도 구현 __enter__
도 __exit__
이고,도 contextlib.contextmanager
장식을 이용한다.
함수에 의해 반환 된 원래'file' 유형은 컨텍스트 관리자 인터페이스를 구현합니다. –