如何从 C++ 中的 Python 脚本获取变量值?

How can I get a variable's value from a Python script in C++?

所以我的问题是我有一个 Python 脚本,它从传感器读取数据,最后我希望这些数据进入 C++ 代码中的字符串。

我已经尝试安装 boost.python 但没有成功。 (自己安装失败,所以我正在寻找新的选择)

基本上问题是:

我有这样的脚本:

def sum():
    string = "whateverdata"     // the data got read in
    return string

sum()

我想这样使用它:


#include <string>

int main()
{
   string data = ???        // idk how 

  // processing the string  

   return 0;
}

我认为你做不到。至少,我从未亲眼见过。

我想看看你是否可以全部用 python 或全部用 c++ 来完成。

如果没有,请尝试使用 pyinstaller 将 python 文件捆绑到一个 exe 文件中,然后从 C++ 中对 python 脚本进行系统调用。它看起来像:

system("/path/to/pythonexe arg1 arg2");

要将信息输入到 c++ 中,您可以让 python 脚本不断地将其写入文本文件,然后 c++ 程序可以读取同一个文本文件。

或者,您可以让 python 脚本将传感器数据打印到标准输出,然后将其读入 C++ 中的缓冲区。有关详细信息,请参阅此 implementation

如有任何问题,请告诉我,祝你好运!