Конструкция 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)