【问题标题】:Pass data from a c++ program to a python program on linux [closed]将数据从 c++ 程序传递到 linux 上的 python 程序 [关闭]
【发布时间】:2017-02-27 17:08:16
【问题描述】:

我有一个返回值的 c++ 程序(值不断变化),我想制作一个 python 程序来获取 c++ 程序返回的值并使用它。 我想问一下是否有任何方法可以执行此任务或任何可以帮助我实现此任务的方法。 我希望这两个程序能够同时运行。

好吧,假设 c++ 程序是下面的代码:

int main() {
    int x = 1;
    while(1){
        fprintf(stdout,"%d\n", x);
        x++;
}
return 0;

}

如何制作一个 Python 程序,每次更改时都将变量 x 作为其输入。

【问题讨论】:

  • 如何返回值?它是否将其写入stdout 然后终止?你控制这个 C++ 程序吗?是否可以将其转换为动态库并使用 ctypes 之类的外部函数库或通过编写 python c 扩展将其加载到 python 中?
  • 告诉我们更多关于您希望它们如何运行的信息。一个人打电话给另一个人吗?您可能会设置一个队列(想到 zeromq),或共享一个中间文件。

标签: python c++ linux


【解决方案1】:

您可以使用 管道 将 C++ 程序的 stdout 转发到 Python 程序的 stdin

#!/bin/bash
./my_cpp_program.x | ./my_python_program.py 

【讨论】:

    猜你喜欢
    • 2011-06-25
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    相关资源
    最近更新 更多