Как захватить вывод 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()

?

Ответы на вопрос(2)

Ваш ответ на вопрос