1

我正在使用 callexec 函数来调用 python 脚本。python 脚本在 stadout 中返回一个值,但我无法获取返回参数中的值。有没有办法将值传递给结果变量?

这是我正在使用的 CANape 脚本:

double err;
char result[];

err = CallExecutable("C:\\Program Files (x86)\\Python38-32\\python.exe", "C:\\Users\\XXXX\\Desktop\\Read_Current.py 1", 1, result);

print("%s", result);

提前致谢

4

1 回答 1

0

提供给 CallExecutable 的结果缓冲区将返回 Python 程序的退出代码的结果。如果调用以下 python 代码,将返回 123,这就是上面代码中结果的值。

导入系统 sys.exit(123)

如果您希望从 python 脚本传回数据,我已经使用函数 DLL 机制完成了此操作(CANape 中包含一些演示代码)。它涉及一个小的 C++ 包装器来与 python 或其他语言交互。

于 2020-12-12T20:21:12.943 回答