Почему для работы с файлами в Python рекомендуется использовать with open(...) as file_object:?
with open(...) as file_object:
Файл автоматически закрывается при завершении блока, в том числе при возникновении исключения.
Каждый открытый файл принудительно переводится в режим записи.
Гарантируется, что ни одна операция с файлом внутри блока не вызовет ошибку.
Перед началом блока весь файл всегда загружается в память.