11/9 with문
-
with … as문 .
파이썬에서 리소스 관리와 관련된 작업을 수행하는 데 사용된다. 주로 파일 도는 네트워크 연결과 같은 리소스를 열 때, 사용한 후 리소스를 닫는 것을 보장한다(실수로 닫지 않으면 메모리 낭비).
기본적으로 “with … as” 구문은 리소스를 열고 이 리소스에 대한 작업이 끝난 후 자동으로 닫히도록 하는 컨텍스트 매니저이다.
with open("example.txt", 'r') as file : data = file.read()
위 코드에서 open(“example.txt”, ‘r’)은 파일을 열고 “as” 블록 안에서 “file” 이라는 이름의 변수로 참조한다(import numpy as np와 비슷).
블록이 종료되면 file 변수가 자동으로 닫히고 리소스가 정리된다.
-
사용 예제
class AgeChecker : def __init__(self, age) : self.age = age def verify_age(self) : raise ValueError("미성년자는 입장할 수 없습니다.") def check_age(age) : with AgeChecker(age) as checker : checker.verify_age() print("입장이 허용되었습니다.") try : check_age(20) except ValueError as e : print(e)
댓글남기기