如何判断从C#运行的python脚本是否通过或失败

如何判断从C#运行的python脚本是否通过或失败,c#,process,C#,Process,我有下面的代码从C#调用Python应用程序,有没有办法确定从C#运行的Python脚本通过了还是失败了?我们是否得到了任何表示从C运行的python应用程序成功或失败的退出/返回代码# 除了输出程序写入its(标准)输出通道外,程序总是以(或退出代码)终止。如果程序运行正确,则应使用退出代码0,如果程序出错,则应使用退出代码而不是0 现在,当出现算术错误时,python程序通常会以非0的退出状态退出,例如程序: a = 4/0 不仅会产生错误消息: Traceback (most recen

我有下面的代码从C#调用Python应用程序,有没有办法确定从C#运行的Python脚本通过了还是失败了?我们是否得到了任何表示从C运行的python应用程序成功或失败的退出/返回代码#


除了输出程序写入its(标准)输出通道外,程序总是以(或退出代码)终止。如果程序运行正确,则应使用退出代码
0
,如果程序出错,则应使用退出代码而不是
0

现在,当出现算术错误时,python程序通常会以非
0
的退出状态退出,例如程序:

a = 4/0
不仅会产生错误消息:

Traceback (most recent call last):
  File "test.ply", line 1, in <module>
    a = 4/0
ZeroDivisionError: integer division or modulo by zero

从python脚本返回一个
int
值,并将其捕获到C#代码中。有关更多详细信息,请参阅。感谢Willem提供的详细信息,是否有一种方法可以获取实时输出,同时将其传递到变量,如
string myString=myStreamReader.ReadToEnd()实时输出是什么意思?意思是,当前python脚本正在打印的标准输出被保存到变量myString中,只有在python脚本完成后,我们才能看到输出…是否有一种方法可以实时查看python脚本正在打印的打印并保存到变量中以供以后处理。。
Traceback (most recent call last):
  File "test.ply", line 1, in <module>
    a = 4/0
ZeroDivisionError: integer division or modulo by zero
//...
myProcess.WaitForExit();
int ec = myProcess.ExitCode;
if(ec != 0) {
    //oops the Python program made an error
} else {
    //assume everything went fine
}