嵌入式Python 3:将stdout,stdin和stderr重定向到C ++?

时间:2018-01-15 14:33:45

标签: python c++ c python-3.x stdout

基本上我想做类似here所述的操作:在嵌入python的应用程序中重定向python输出。最好的答案似乎是this one,因为它只用C / C ++编写(混合Python和C / C ++对我来说似乎并不干净)。

我仍然不满意答案。首先看https://docs.python.org/3/c-api/file.html时,似乎我不应该再使用PyFile_FromFile(..)了,我不确定PyFile_FromFd(..)是否是Python 3的替代品,用红色查看警告。其次我只想将我调用生成的输出重定向到Python函数,例如PyRun_SimpleString(..),而不是整个程序输出。基本上我的应用程序被编译为共享库,加载时应该只重定向它自己的输出。

库的应用程序将是一个自定义Python GUI:一个加载库的GUI,用户可以输入一个字符串,该字符串将被发送到库,它将它提供给PyRun_SimpleString(..)并返回输出。然后,GUI将显示输出。

0 个答案:

没有答案