В некоторых случаях, при написании больших программ, мы можем забыть закрыть файлы. Ручное открытие и закрытие кажется большим количеством повторяющейся работы. Чтобы избежать этой проблемы, мы можем использовать оператор with, чтобы автоматически открывать и закрывать файл, как только программа выходит из блока with:
with open('document.txt') as f: # Ранее: f = open('document.txt')
print(f.read())
print('Done!')
Ключевое слово as используется для создания псевдонима. В этом примере мы создаем псевдоним f, который ссылается на open('document.txt').
Заметьте, что нет вызовов f.open() или f.close(). Это обрабатывается автоматически. Как только программа входит в блок with open(), файл document.txt открывается, и как только программа выходит из тела блока with, файл закрывается. Таким образом, когда программа доходит до команды print('Done!'), файл уже был закрыт.
Это предпочтительный способ работы с файлами по сравнению с использованием .open() и .close() каждый раз.
Задача
Вам нужно перемножить два числа, расположенные в файле numbers.txt на отдельных строках.
Вывод программы должен содержать одно целое число — произведение этих двух чисел.