Видать не очень хорошие у вас источники. Оператор
with просто оборачивает блок кода контекстным менеджером. Функция open - это контекстный менеджер, который открывает файл при входе в блок with и закрывает при выходе. Могут быть и другие контекстные менеджеры, которые вообще не имеют отношения к работе с файлами. Или выполняют свои обязанности не полностью, как ваш.