Курс 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. Ошибка NotImplemented в Python
  2. Работа с NumPy
  3. Работа с изображениями Pillow
  4. ChainMap избыточные ключи
  5. Хешируемые ключи в Python
  6. Работа с контекст-менеджером «with»
  7. Работа со строками в Python
  8. Запуск файлового сервера
  9. Многоточие в Python
  10. Работа с датами в Python
  11. Создание словаря с значением по умолчанию
  12. Присвоение значений переменным в Python
  13. Получение текущей даты в Python
  14. Python: отличительная особенность — отступы
  15. Декоратор защиты анонимных пользователей
  16. Генерация случайных чисел в Python
  17. Проверка элемента в множестве.
  18. Копирование файлов с shutil()
  19. Именование столбцов в Python с pandas
  20. Операция += для списков
  21. Просмотр атрибутов и методов класса
  22. Оператор walrus в Python
  23. Итерация по копии коллекции
  24. Работа с JSON в Python
  25. Многострочные строки в Python
  26. Генератор списка в Python
  27. Создание графики с черепахой
  28. Частичное совпадение пользовательского ввода в Python 3.10
  29. Повторение элементов в Python
  30. Подсчет элементов с помощью Counter
  31. Вычисление натурального логарифма в NumPy
  32. Считывание бинарного файла в Python
  33. Реверс строки в Python
  34. Удаление и повторная вставка ключа в OrderedDict
  35. Заказ карты Тинькофф Black
  36. Управление браузером с Selenium
  37. Метод getitem для доступа к элементам последовательности
  38. Метод repr() в Python
  39. Сокращение ссылок с pyshorteners
  40. Множественное присваивание в Python
  41. Преобразование текста в речь с Python
  42. Пространство имен в Python
  43. Подсказки при вводе данных в Python
  44. Работа со словарями
  45. Создание обратного итератора

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