Como capturar saída stdout de uma chamada de função do Python?

Eu estou usando uma biblioteca Python que faz algo para um objeto

do_something(my_object)

e muda isso. Ao fazer isso, ele imprime algumas estatísticas para stdout e eu gostaria de obter uma informação sobre essa informação. A solução adequada seria mudardo_something() para devolver a informação relevante,

out = do_something(my_object)

mas vai demorar um pouco antes dos devs dedo_something() chegar a este problema. Como solução, pensei em analisar qualquer coisado_something() escreve para stdout.

Como posso capturar saída de stdout entre dois pontos no código, por exemplo,

start_capturing()
do_something(my_object)
out = end_capturing()

?

questionAnswers(2)

yourAnswerToTheQuestion