我试图从另一个C程序执行一个python程序,其中py脚本的返回值是
int array [3]
我可以从python退出代码中获取这个数组吗?
修改 如果问题不清楚,我可以使python脚本的返回码是一个整数数组而不是int ??并从C进程中捕获它?
我想要实现的目标? 我正在研究机器人,一个带有3个传感器的Raspberry PI。 RPi正在运行arch linux,C程序是导航器,它从一个从传感器获取数据的python脚本中获取输入,我想知道如何获取数据?
答案 0 :(得分:0)
没有。进程的退出代码是一个整数,从0到255.它不能是数组,也不能超出该范围。
如果要将数据从C程序返回给其调用者,请在标准输出(例如printf()
)上打印。退出状态只能传达非常基本的信息,如成功/失败。
答案 1 :(得分:0)
您无法使用退出代码。但是,您可以使用标准输入/输出:
p.py:
print 1, 2, 3
temp.c:
#include <stdio.h>
int main() {
int array[3];
scanf("%d%d%d", &array[0], &array[1], &array[2]);
}
运行:
$ gcc temp.c
$ python p.py | ./a.out