我有一个从C++ GUI应用程序运行的Python脚本。
我想将该脚本的输出放入Python控制台,并能够在从C++调用另一个Python函数之前对其进行操作。

我的问题:仅通过将stdin和stdout重定向到Filess可以实现吗?
使用纯python是否有更好的方法?

请注意,我不想从C++程序生成控制台,而是从C++程序外部生成控制台。

最佳答案

您应该能够使this answer中的方法适应您的需求。它链接到的示例使用UDP套接字向/从交互式解释器传输命令,但是您可以轻松地将其更改为从stdin(或任何地方)提取数据。

该示例中最关键的事情是使用内置InteractiveConsolepush()方法来确定输入是否为:

  • 格式正确的Python代码段,可以按原样进行评估
  • 语法无效的代码段,或
  • 可能有效的代码段,但需要更多输入
  • 关于c++ - 将交互式控制台附加到嵌入式python脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20378675/

    10-09 20:19
    查看更多