Курс 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. Проверка списка: any() и all()
  2. Инициализация объекта
  3. Получение списка файлов в директории с использованием os
  4. Lambda-функция в Python: использование с map() и sum()
  5. Ветвление выражения в Python
  6. Моржовый оператор в Python 3.8
  7. Работа с Event() в threading
  8. Форматирование вывода списков
  9. Функция __init__ в Python
  10. Сравнение строк в Python
  11. Проверка элемента в множестве.
  12. Объединение словарей в Python
  13. Работа с кортежами в Python
  14. Быстрый поиск кода
  15. Глобальные переменные в Python
  16. Атрибуты массивов в Numpy
  17. Функция zip() в Python
  18. Работа с enumerate()
  19. Рациональные числа в Python
  20. Округление чисел с помощью round
  21. Сортировка данных с лямбда-функциями
  22. Хешируемые ключи в Python
  23. Поиск индекса элемента
  24. Метод rsub для пользовательских чисел
  25. Работа со строками в Python
  26. Ввод нескольких значений
  27. Генерация тестовых данных с factory_boy
  28. Удаление дубликатов из списка
  29. Получение ID процесса
  30. Конкатенация строк в Python
  31. Бинарный поиск
  32. Создание графиков в терминале
  33. Поиск наиболее частого элемента списке
  34. Экспорт данных в файл.
  35. Проблемы с именами переменных
  36. Сортировка с помощью параметра key
  37. Concrete Paths — метод .with_suffix()
  38. Подсчет элементов в Python
  39. Создание вкладок с TKinter
  40. Python defaultdict добавление ключа
  41. Оптимизация гиперпараметров с Scikit Optimize
  42. Работа с файлами в Python
  43. Работа с JSON в Python
  44. Измерение времени выполнения с помощью time
  45. Наиболее частотные элементы с помощью Counter
  46. Частичное совпадение ввода
  47. Подсчет элементов в списке с Counter

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