Опубликован: 04.09.2023 83
Оператор with
в Python предназначен для облегчения работы с ресурсами, которые требуют корректного освобождения после использования (обычно такими ресурсами являются файлы или сетевые соединения).
Оператор with
- по сути является контекстным менеджером, который помогает упростить некоторые шаблоны управления ресурсами, абстрагируясь от их функциональности и не заботясь о корректном завершении их использования. Типичные области применения контекстных менеджеров включают сохранение и восстановление различных типов глобального состояния, блокировку и разблокировку ресурсов, закрытие открытых файлов и т. д.
Обычная работа с файлами в Python предусматривают использование функции open()
, которая открывает файл (в определенном режиме: записи 'w' или чтения 'r') и соответственно блокирует его на период использования другими пользователями, а после завершения работы с файлом его необходимо закрыть, используя функцию close()
:
f = open('test.txt', 'w')
try:
f.write('hello, world')
finally:
f.close()
Кроме того, необходимо обеспечить обработку возможных исключений, связанных с его использованием файла, с помощью конструкции try ... except ... finally
.
Оператор with
существенно упрощает работу с файловой системой и позволяет сократить код до двух строк:
with open('test.txt', 'w') as f:
f.write('hello, world!')
Оператор with
всегда автоматически закрывает и освобождает файл сразу после завершения его использования, даже если программа завершилась ненормально.
Оценка основных статистических метрик набора данных в Python
Область эффективного использования lambda функции в Python
Логические выражения if ... else в Pythonic стиле
Способы удаления лишних пробелов в строке
Комментариев нет.