我有一个C(在windows上)程序,它有一个返回值的主函数。你知道吗
#include <stdio.h>
int testData()
{
int testErr = 0;
// ....
return(testErr);
}
int main(void) {
int mainErr = 0;
mainErr = testData();
printf("mainerr = %d", mainErr);
return mainErr;
}
这个C代码是可执行的myTest.exe文件是通过python运行的。你知道吗
self.run_cmd = "myTest.exe "+cmd # pass agruments to the C exe
self.testRun = subprocess.run(self.run_cmd,
stdout=subprocess.PIPE, stdin=None, stderr=subprocess.PIPE,
bufsize=0, universal_newlines=True, timeout=100)
print(">>>>", self.testRun.stdout)
print(">>>>", self.testRun.stderr)
使用“print”(“>;>;>;”,self.testRun.stdout)“我在python中没有得到C代码的返回值。 在python中如何获取C main返回的返回值。你知道吗
使用子进程获得的返回值将是字节。 运行后:
您可以将输出捕获为:
这个结果是一个字符串,可以进一步使用。你知道吗
^{} 函数返回一个^{} 对象,该对象具有^{} 属性。你知道吗
在python中,
subprocess
模块监视命令的返回值(即0表示成功,1表示失败)。由于您正在从C程序返回一些值,程序成功退出,返回代码为0。这里可以做的是在C程序中使用exit(1)
终止程序,退出代码为1,返回1。 C程序的退出代码可以使用另一种方法是在一些文件或数据库中编写所需的输出,然后从python代码中读取。你知道吗
相关问题 更多 >
编程相关推荐