使用退出代码在C程序和python程序之间进行C通信

时间:2013-06-26 16:39:13

标签: python c

我试图从另一个C程序执行一个python程序,其中py脚本的返回值是

  

int array [3]

我可以从python退出代码中获取这个数组吗?

修改 如果问题不清楚,我可以使python脚本的返回码是一个整数数组而不是int ??并从C进程中捕获它?

我想要实现的目标? 我正在研究机器人,一个带有3个传感器的Raspberry PI。 RPi正在运行arch linux,C程序是导航器,它从一个从传感器获取数据的python脚本中获取输入,我想知道如何获取数据?

2 个答案:

答案 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