Курс 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"
- Ошибка NotImplemented в Python
- Работа с NumPy
- Работа с изображениями Pillow
- ChainMap избыточные ключи
- Хешируемые ключи в Python
- Работа с контекст-менеджером «with»
- Работа со строками в Python
- Запуск файлового сервера
- Многоточие в Python
- Работа с датами в Python
- Создание словаря с значением по умолчанию
- Присвоение значений переменным в Python
- Получение текущей даты в Python
- Python: отличительная особенность — отступы
- Декоратор защиты анонимных пользователей
- Генерация случайных чисел в Python
- Проверка элемента в множестве.
- Копирование файлов с shutil()
- Именование столбцов в Python с pandas
- Операция += для списков
- Просмотр атрибутов и методов класса
- Оператор walrus в Python
- Итерация по копии коллекции
- Работа с JSON в Python
- Многострочные строки в Python
- Генератор списка в Python
- Создание графики с черепахой
- Частичное совпадение пользовательского ввода в Python 3.10
- Повторение элементов в Python
- Подсчет элементов с помощью Counter
- Вычисление натурального логарифма в NumPy
- Считывание бинарного файла в Python
- Реверс строки в Python
- Удаление и повторная вставка ключа в OrderedDict
- Заказ карты Тинькофф Black
- Управление браузером с Selenium
- Метод getitem для доступа к элементам последовательности
- Метод repr() в Python
- Сокращение ссылок с pyshorteners
- Множественное присваивание в Python
- Преобразование текста в речь с Python
- Пространство имен в Python
- Подсказки при вводе данных в Python
- Работа со словарями
- Создание обратного итератора















