[Python] Context Manager
Brunch Story
파이썬에는 with 블록과 함께 쓰이는 Context Manager라는게 있습니다. 주로 외부에서 제공해주는 패키지를 사용하다보면 볼 수 있는데, 가장 대표적인 사용 사례가 바로 open() 함수를 통해 파일을 읽고 쓰는 것입니다.
with open(file_path, 'r') as f:
print(f.readlines())
Context Manager는 실제 코드를 작성할때 자주 사용됩니다. 예컨대, 외부 저장소 혹은 서버에 연결을 맺고 작업을 진행하는 경우나, 특정 함수를 일시적으로 mocking해야하는 경우, 혹은 lock 매커니즘을 도입해 lock을 관리하는 경우 등이 있습니다.
이처럼, 리소스 정리를 필요로 하거나, 일시적으로 상태를 변환시켰다가 다시 원상복구하는 작업들을 할때 유용하게 사용할 수 있는 것이 바로 Context Manager입니다.
이번 포스트에서는 Context Manager가 어떤 역할을 하고, 어떤 원리에 의해서 작동하는지 적어보았습니다. 실무에서 파이썬을 사용하고 계시다면, 이번 기회에 Context Manager를 사용해보시면 어떨까요?
https://brunch.co.kr/@growthminder/129
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 3월 10일 오후 4:13