-
파이썬의 파일 핸들러는 내부적으로 ContextManager 프로토콜을 따르도록 설계됨.
__enter__(self) : with 문에 진입하는 시점에 자동으로 호출된다.
__exit__(self, type, value, traceback) : with 문이 끝나기 직전에 자동으로 호출된다.
__exit__() 메소드가 받는 세 개의 인자는 해당 객체와 연관된 컨텍스트 내에서 예외가 발생되었을 때, 해당 예외에 관한 정보이다. 예외없이 with 구문이 종료되었다면 이 세 인자는 모두 None이 될 것이다.
# 예제 적용전.
f = open('test.txt')
val = f.readline()
f.close()
# 예제 적용후.
with open("test.txt") as f:
v = f.readline()
# requests적용 예제, with없이 그냥 사용시 session이 가끔 끊긴다고 한다?
import requests
with requests.Session() as s:
req = s.get('https://www.test.net/')
'Python' 카테고리의 다른 글
Python예제 - 문자열 속 특수문자 변환 (0) 2018.01.31 Python예제 - ord, hex, chr, unichr (0) 2018.01.31 Python함수 - Cmp 비교 (0) 2018.01.30 Python예제 - 리스트 (0) 2018.01.30 Python Re - 정규식, RegularExpression (0) 2018.01.30 Python예제 - 문자와 아스키코드 변환 (0) 2018.01.30 Python예제 - chardet.detect 캐릭터셋 인코딩 확인 (0) 2018.01.30 Python문법 - if (0) 2018.01.29