Как захватить вывод stdout из вызова функции Python?
Я использую библиотеку Python, которая делает что-то с объектом
do_something(my_object)
и меняет это. При этом он выводит некоторую статистику на стандартный вывод, и я хотел бы получить контроль над этой информацией. Правильное решение было бы изменитьdo_something()
вернуть соответствующую информацию,
out = do_something(my_object)
но это будет некоторое время, прежде чем разработчикиdo_something()
добраться до этого вопроса. В качестве обходного пути я подумал о разборе чего угодноdo_something()
пишет в стандартный вывод.
Как я могу захватить вывод stdout между двумя точками в коде, например,
start_capturing()
do_something(my_object)
out = end_capturing()
?