如何使用C文件返回值,然后使用os.system在python中提取值?

亚历山大·尤

我正在使用python os.system打印从C文件接收的值。

我的C档案说...

#include <stdio.h>

main() 
{
printf("hello world\n");
return 7;
}

然后我有一个执行以下操作的python文件...

import os

x = os.system("./a.out")

print x

当我在linux命令行上运行python程序时,我成功打印了“ hello world”,但变量x的打印结果为1792。

我希望x打印为7,而不是1792。为什么x打印为1792,我该如何解决?

虚假的

根据os.system文件

在Unix上,返回值是以指定的格式编码的进程的退出状态wait()请注意,POSIX没有指定C system()函数的返回值的含义,因此Python函数的返回值与系统有关。

使用os.WEXITSTATUS来获取返回代码:

import os
x = os.system("./a.out")
print os.WEXITSTATUS(x)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章