Junior — Middle
113
Можеш ли да покажеш пример како се примењује механизам управљања ресурсима уз помоћ контекстног менаџера?
Одговор од АИ
sobes.tech АИ
Контекстные менеджеры в Python используются для автоматического управления ресурсами, такими как файлы, сетевые соединения, блокировки и т.д. Они гарантируют, что ресурс будет корректно освобожден после использования, даже если во время работы возникнут ошибки.
Самый простой пример — работа с файлом через оператор with:
with open('example.txt', 'r') as file:
data = file.read()
# Здесь файл автоматически закрывается, даже если чтение вызвало исключение
Можно также создавать свои контекстные менеджеры с помощью класса, реализующего методы __enter__ и __exit__:
class ManagedResource:
def __enter__(self):
print('Ресурс открыт')
return self
def __exit__(self, exc_type, exc_val, exc_tb):
print('Ресурс закрыт')
# Можно обработать исключения, если нужно
with ManagedResource() as resource:
print('Работа с ресурсом')
Такой подход помогает избежать утечек ресурсов и делает код более читаемым и надежным.