/
IvanKhabarov
/
python
Обзор
Документация
Войти
/
IvanKhabarov
/
python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
Lections/Lesson7/files/file_task_6.py
21 строка
2 KB
Ivan-Khabarov
Добавлен урок 7
16 сен 2024, 18:59
16 сен 2024, 18:59
6dd50cb
Код
Авторство
О чём код?
# Менеджер контекста with open # Если после открытия файла в коде возникнет ошибка, строка f.close() не будет # выполнена. В результате ресурсы не освободятся, возможно возникнут проблемы в # работе с открываемым файлом. Чтобы избежать подобных ошибок используют # менеджер контекста with. with open('text_data.txt', 'r+', encoding='utf-8') as f: print(list(f)) print(f.write('Пока')) # ValueError: I/O operation on closed file. # В отличии от прошлых примеров с open вместо присвоения “f =” в начале строки # используем “as f:” в конце строки. Вложенный в with блок кода позволяет работать с # файлом через файловый дескриптор f. При завершении вложенного блока # происходит автоматическое закрытие файла. При этом даже в случае ошибки # внутри блока сначала будет закрыт файл, а только потом произведено аварийное # завершение программы. # Обычно вариант написания кода с менеджером контекста with предпочтительнее, # чем напрямую с open. Но если вам надо одновременно работать с несколькими # файлами, вариант с open позволит избежать нескольких уровней вложенности. В # этом случае не стоит забывать про закрытие всех файлов.