Конструкция with в Python
Конструкция with является менеджером контекста, который контролирует открытие и закрытие файла в Python. Другими словами, когда открывается файл при помощи конструкции with, не нужно указывать дополнительный метод close() для закрытия файла.
Синтаксис
- путь_к_файлу — пусть к файлу, который нужно открыть;
- режим_доступа — режим доступа, который определяет, как будет открыт файл. Больше информации смотрите на странице — Режим доступа к файлу;
- кодировка — название кодировки, в которой будет открыт файл. Это может быть любая кодировка, как например windows-1251, utf-8 и т.д;
- псевдоним — альтернативное название открытого файла, к которому можно будет обращаться в ходе работы.
# with для одного файла
with open(путь_к_файлу, mode='режим_доступа', encoding='кодировка') as [псевдоним]:
''' действия с файлом '''
# with для нескольких файлов
with (
open(путь_к_файлу_1, mode='режим_доступа', encoding='кодировка') as [псевдоним_1],
open(путь_к_файлу_2, mode='режим_доступа', encoding='кодировка') as [псевдоним_2],
...
):
''' действия с файлом'''
Пример
При помощи конструкции with() открываем файл my_file.txt в режиме доступа r и в кодировке utf-8. Полученной конструкции присваиваем псевдоним f. Читаем файл f методом read() и записываем полученные значения в переменную r. Выводим значение переменной r на экран.
with open('./my_file.txt', mode='r', encoding='utf-8') as f:
r = f.read()
print(r)