Python Tech Talks
Фотография
нажмите — покажем
нажмите — покажем
Как устроен контекстный менеджер with as?
Друзья, всем привет! Сегодня поговорим про конструкцию with as и про то, как с ней работать. 🖥
Предположим, есть необходимость прочитать содержимое файла. Традиционный подход может выглядеть так:
file = open('f.txt', 'r')
content = file.read()
file.close()
В коде файл открывается и считывается, но при возникновении ошибки может не закрыться, что приведет к утечке ресурсов. 🖥 🖥
Использование оператора with позволяет корректно освобождать ресурсы. 🖥 Вот как можно переписать предыдущий пример с использованием with:
with open('f.txt', 'r') as file:
content = file.read()
В данном случае, with автоматически закроет файл по выходу из блока кода, даже если при чтении файла произошло исключение. Это делает код более читаемым и надежным. 🖥
Также с помощью with as можно работать сразу с несколькими файлами:
with open('f1.txt', 'r') as file1, open('f2.txt', 'w') as file2:
# обработка файлов
Ставь реакцию:
🖥 - если уже знал, что такое контекстный менеджер
👀 - если узнал что-то новое
#функции #программирование
115 ·