[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
프로덕트 매니저(PM)로 일하면서 늘 지표 이야기를 듣게 됩니다. 대부분 PM은 선행지표(leading indicator)와 후행지표(lagging indicator)의 개념을 잘 이해하고 있습니다. 하지만 선행지표에 영향을 미치는 '인풋(input) 지표, '아웃풋(o
... 더 보기알뜰폰으로 변경하고 싶어도 통신사 서비스에 무언가 묶인게 있어서 바꾸지 못했는데,
생각해보니 기존 통신사는 최저 요금제로 변경하고, 알뜰폰으로 신규 가입을 한 뒤 eSIM으로 추가 등록해서 사용하도록하는 방법이 떠올라 그렇게 함!
이
... 더 보기