Junior — Middle
Have you created your own implementations of context managers in Python?
sobes.tech AI
Answer from AI
Yes, in Python, you can create your own context managers to manage resources using the context manager protocol — the __enter__ and __exit__ methods.
This is useful when you need to ensure proper opening and closing of resources, such as files, network connections, or locks.
An example of a custom context manager:
class MyContextManager:
def __enter__(self):
print("Entering context")
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print("Exiting context")
if exc_type:
print(f"Handling exception: {exc_val}")
return True # suppresses the exception
with MyContextManager() as cm:
print("Inside with")
# raise ValueError("Error") # uncomment to handle an exception
You can also use the @contextmanager decorator from the contextlib module for simplified creation of context managers.