Условие задачи: Иногда возникает необходимость перенаправить вывод в нужное нам место, внутри программы, по ходу её выполнения. Реализуйте контекстный менеджер, который принимает два IO-объекта (например, открытые файлы) и перенаправляет туда стандартные потоки stdout и stderr. Аргументы контекстного менеджера должны быть "непозиционными", чтобы можно было ещё перенаправить только stdout или только stderr. И дан вот такой шаблон: Ну собственно перенаправить stdout у меня не возникло проблемы, тут оказалось все просто, для начала открываем два файла один для stdout, второй для stderr, ну и передаём их в наш класс Redirect (исключение пока закомментил, чтобы не мозолило глаза): Далее, переходим в класс Redirect: Ну и при запуске программы стандартный вывод перенаправляется в файл stdout.txt, там появляется запись: А вот подобная запись с записью ошибки в файл - не прокатывает, ошибки как нет на экране так и в файле, файл stderr.txt остается пустым, а там должна быть записана ошибка (искл
Модуль 5. Задача 4. Перенаправление вывода. + 5 задача
26 декабря 202326 дек 2023
454
2 мин