Python : 컨텍스트 관리자, with <객체> as <변수명>
2023. 3. 23. 09:47
Python/Python
file을 오픈할 때 쓰는 with as 구문. 보통 파일을 오픈한 뒤 자동적으로 close 해주는 구문으로 알고 있는데, 이 기능 하나만 가지고 이런 구문이 생겼을거라 생각되지 않아 추가적으로 찾아보게 되었다. 결론적으로 말하면 file을 오픈할 때만 쓰는 것이 아닌 쓰레드를 락인해놓고 자동적으로 푼다거나 데이터베이스 연결을 한 뒤 자동적으로 닫거나 하는 경우처럼 사용 뒤에 자동적으로 무언가 나가거나 끌 필요가 있을 때 사용된다는 걸 알게 되었다. with as 객체가 중간에 나와서 당황했지만 흔히 쓰는 파일 오픈을 위해 open()을 쓰는 경우는 open()의 결과로 file 객체가 리턴되기 때문인 것도 추가적으로 알게 되었다. 이 구문의 이름은 컨텍스트 관리자로 리소스의 할당과 해제를 위해 만들어졌..