Em python, como capturar o stdout de uma biblioteca compartilhada c ++ para uma variável

Por outras razões, a biblioteca compartilhada c ++ que eu usei gera alguns textos para a saída padrão. Em python, quero capturar a saída esalvar em uma variável. Existem muitas perguntas semelhantes sobre redirecionar o stdout, mas não funcionam no meu código.

Exemplo:Suprimindo a saída da chamada de módulo fora da biblioteca

1 import sys
2 import cStringIO
3 save_stdout = sys.stdout
4 sys.stdout = cStringIO.StringIO()
5 func()
6 sys.stdout = save_stdout

Na linha 5,func () chamará a biblioteca compartilhada, os textos gerados pela biblioteca compartilhada ainda serão exibidos no console! Se mudarfunc () para imprimir "olá", funciona!

Meu problema é:

como capturar stdout da biblioteca compartilhada c ++para uma variável?Por que usar o StringIO, não é possível capturar as saídas da biblioteca compartilhada?

questionAnswers(5)

yourAnswerToTheQuestion