我正在使用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] 删除。
我来说两句