Разница между контекстным менеджером with и ручным закрытием файлов заключается в автоматическом управлении ресурсами. 27
Контекстный менеджер with позволяет автоматически закрывать файл после завершения работы с ним, даже если в процессе возникла ошибка. 12 Это предотвращает утечки ресурсов и ошибки, связанные с незакрытыми файлами. 7
Ручное закрытие файлов и отдача закрытия на откуп среде исполнения имеют существенный недостаток: если между открытием файла на запись и его закрытием произойдёт ошибка, то в лучшем случае файл останется открытым слишком долго, а в худшем — не сохранится часть данных. 1
Таким образом, использование контекстного менеджера with упрощает работу с файлами, делает код более надёжным и читаемым. 27