Внимание! На этой странице вы найдете материал урока из архивного курса по Python. Курс был написан в 2024 году и по-прежнему актуален для начинающих разработчиков.
Теоретический материал сохранен в исходном виде, а практические задания с автоматической проверкой вынесены в отдельные интенсивы и задания.
Полный список уроков доступен по тегу Архивный курс по Python и на странице первого урока.
- В этом уроке рассмотрим более прогрессивный и надежный способ работы с файлами - конструкцию
with/as. - Менеджеры контекста необходимы для выделения и освобождения ресурсов.
- Использование конструкции
with/asгарантирует закрытие файла. - Пример работы с файлом: открытие, чтение содержимого и закрытие файла.
- В предыдущем уроке были разобраны методы
read()иwrite(), режимы работы с файлом и кодировка.
В предыдущем уроке вы научились работать с файлами. Разобрались как открывать их для записи и чтения в требуемом режиме и обучились правильному их закрытию. В этом уроке рассмотрим более прогрессивный и надежный способ работы с файлами, при помощи конструкции with/as, которая работает как менеджер контекста.
Менеджеры контекста необходимы для выделения ресурсов и их освобождение за ненадобностью. Использование конструкции with/as при работе с файлами в Python гарантирует закрытие файла.
Давайте откроем файл из предыдущего урока и распечатаем его содержимое в консоль:
with open("file.txt", "r", encoding='utf-8') as f:
print(f.read())
Как видите, объект класса _io.TextIOWrapper (про который говорили в предыдущем уроке) возвращается в переменную f. Далее работаем с файлом точно так же.
На этом раздел по работе с файлами в Python закончен. В предыдущем уроке мы очень подробно разобрались с методами read() и write(), режимами работы с файлом и его кодировкой. В этом уроке углубили знания и познакомились с конструкцией with/as. В следующем разделе начнем подробно изучать итераторы в Python. Переходим к итогам раздела «Работа с файлами в Python».
Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу Python.
