Python 2.7 Python:抓取打印到控制台的文本

Python 2.7 Python:抓取打印到控制台的文本,python-2.7,console,Python 2.7,Console,我正在使用一个名为CAMFR的复杂python模块。在一个函数中,它计算一个我想要使用的值(用于绘图或其他),但不幸的是,模块将该值打印到python控制台,但没有将其作为变量返回 (我已经通过源代码查看是否可以重新编译模块返回值,但是在我的编程级别上看起来非常困难,考虑到它是用C++编写的,使用Boost等。我只是不幸地没有得到它。)< /P> 因此,第二个选项是获取打印到控制台的文本并解析出我需要的值 如何在Python(2.7)中截取或以其他方式获取此函数的控制台输出文本?(我将在之后对其

我正在使用一个名为CAMFR的复杂python模块。在一个函数中,它计算一个我想要使用的值(用于绘图或其他),但不幸的是,模块将该值打印到python控制台,但没有将其作为变量返回

(我已经通过源代码查看是否可以重新编译模块返回值,但是在我的编程级别上看起来非常困难,考虑到它是用C++编写的,使用Boost等。我只是不幸地没有得到它。)< /P> 因此,第二个选项是获取打印到控制台的文本并解析出我需要的值

如何在Python(2.7)中截取或以其他方式获取此函数的控制台输出文本?(我将在之后对其进行正则化。)

谢谢

以下是打印到Python控制台的文本示例:

<<a lot of other output, and then at the end of the function:>>
...
@ 1.05554 4.65843e-05 5.54592 0.0903205 1
@ 1.05554 2.87907e-05 3.42757 0.0903205 1
@ 1.05554 2.87907e-05 3.42757 0.0903205 1
Done pass 1: lambda 1.05554, gain 3.42757

...
@1.05554.65843e-05 5.54592 0.0903205 1
@1.05554 2.87907e-05 3.42757 0.0903205 1
@1.05554 2.87907e-05 3.42757 0.0903205 1
完成通过1:lambda 1.05554,增益3.42757
例如,我最终想要获取
Lambda=1.0554
4&
Gain=3.42757
值,并将它们放入变量中。获取这一函数的整个控制台输出将允许我通过后续的正则表达式搜索来实现这一点,因此我正在寻找一种方法来实现这一点


我很抱歉,如果有另一个线程与我需要的答案,我无法找出谷歌搜索词,让我什么我需要。谢谢你的耐心和慷慨的帮助

可能的外观重复可能会帮助您解决问题。或者可能啊,我没有想到搜索“stdout”(我一直在搜索“console”)。谢谢,这些完美地回答了我的问题。