Junior — Middle
Have you used a context manager in your projects?
sobes.tech AI
Answer from AI
Yes, context managers in Python are widely used for resource management, such as files, network connections, locks, etc. They ensure automatic execution of code upon entering and exiting a with block, helping to prevent resource leaks.
Example of using a context manager to work with a file:
with open('file.txt', 'r') as file:
data = file.read()
# the file is automatically closed after exiting the block
You can also create your own context managers using a class that implements __enter__ and __exit__ methods, or using the contextlib.contextmanager decorator.
Example of a custom context manager:
from contextlib import contextmanager
@contextmanager
def managed_resource():
print('Resource opened')
yield
print('Resource closed')
with managed_resource():
print('Working with resource')
Context managers help write cleaner and safer code, especially when working with resources that require mandatory release.