Курс Python → Управление ресурсами с контекстными менеджерами

Контекстные менеджеры в Python представляют собой объекты, которые реализуют методы `__enter__` и `__exit__`. Метод `__enter__` выполняется при входе в блок кода, управляемый контекстным менеджером, и возвращает ресурс, который будет использоваться в этом блоке. Метод `__exit__` вызывается при выходе из блока кода и служит для освобождения ресурсов.

Для использования контекстных менеджеров в Python используется ключевое слово `with`. Например, для открытия файла и автоматического его закрытия после использования можно написать следующий код:


with open('file.txt', 'r') as file:
    data = file.read()
    print(data)

В данном примере контекстный менеджер `open` открывает файл ‘file.txt’ для чтения. После завершения блока кода, данные из файла считываются и выводятся на экран. При этом файл автоматически закрывается, даже если произошла ошибка внутри блока кода.

Контекстные менеджеры также широко используются для работы с сетевыми соединениями, базами данных, блокировками и другими ресурсами. Они обеспечивают более безопасное и удобное управление ресурсами в Python, уменьшая вероятность утечек памяти и других проблем, связанных с управлением ресурсами.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Определение локальных переменных в Python
  2. Создание словарей с defaultdict()
  3. Возврат нескольких значений
  4. Удаление элементов из списка в Python
  5. Перемешивание списка с shuffle()
  6. Уникальность ключей в словаре
  7. Срез в Python
  8. Оператор in и not in в Python
  9. Атрибуты массивов в Numpy
  10. Объединение множеств в Python
  11. Метод enumerate() в Python
  12. Преобразование генераторов в циклы
  13. Преобразование списка в словарь через генератор
  14. Отладка в Python
  15. Mad Libs Generator
  16. Лимиты на ресурсы Python
  17. Работа с YAML в Python
  18. Перетасовка списков в Python
  19. Фильтрация списка чисел
  20. Dict Comprehension в Python
  21. Метод repr() в Python
  22. Применение функций в Python
  23. Python Translator: создание локальных переводчиков
  24. Функция __init__ в Python
  25. Сохранение и загрузка модели в PyTorch
  26. IPython и Jupyter Notebook: руководство
  27. Удаление файлов в Python
  28. Pillow: работа с изображениями
  29. Создание вкладок с TKinter
  30. Работа с прокси в Python
  31. Зарезервированные слова в Python
  32. Работа с *args и **kwargs в Python
  33. Разработка Telegram-ботов
  34. Установка Python3.7 и PIP
  35. Метод ior для битовых операций
  36. Поиск частых элементов в списке
  37. Списки в Python
  38. PUT запрос для обновления данных
  39. Преобразование кортежа в словарь.
  40. Namedtuple в Python
  41. Утечки переменных цикла в Python 3.x
  42. Очистка строки в Python
  43. Оптимизация памяти с slots
  44. Отслеживание выполнения программы с библиотекой tqdm

Marketello читают маркетологи из крутых компаний