我想从 C#运行python脚本后获取输出和错误消息。输出有效,但是,如果python脚本中有错误,则输出将返回""
,而我无法得到该错误。如果从Windows Shell运行python脚本,则错误显示正确。
作为一种解决方法,我想从python脚本输出到txt文件,然后在C#中读取文本文件。下面的内容在shell中为mylog.log文件编写。
python c:\temp\text.py 2>&1 | tee -filePath mylog.log
如果我在C#中运行以下代码,则不会创建mylog.log
文件。
public string RunFile(string fileName)
{
fileName = @"c:\temp\text.py 2>&1 | tee -filePath c:\temp\myLog.log";
Process p = new Process();
p.StartInfo = new ProcessStartInfo(@"python", fileName)
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = true,
WorkingDirectory = @"c:\temp"
};
p.Start();
p.WaitForExit();
string output = p.StandardOutput.ReadToEnd();
return output;
}
答案 0 :(得分:0)
感谢您的评论。我刚刚启用了错误重定向,正在读取C#中的错误。
indexes=[0,1,3,4,5]