Codebra
29 января 2026 в 18:33

Урок 41. Оператор with/as для работы с файлами в Python

Как работать с файлами в Python при помощи конструкции with/as.
📝

Внимание! На этой странице вы найдете материал урока из архивного курса по 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.