0
下面是對Python進程的調用,但它不返回StandardOutput
。我專門在Python文件中犯了一個錯字,併成功返回StandardError
。StandardError會顯示,但標準輸出不會在調用C#中的進程時出現
string pythonExe = @"../../../Vokaturi/python.exe";
string pythonFile = @"../../../Vokaturi/test.py";
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(pythonExe);
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcessStartInfo.RedirectStandardError = true;
myProcessStartInfo.Arguments = pythonFile;
Process myProcess = new Process();
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
StreamReader myStreamReaderError = myProcess.StandardError;
string myErrorString = myStreamReaderError.ReadToEnd();
StreamReader myStreamReaderOutput = myProcess.StandardError;
string myOutputString = myStreamReaderOutput.ReadToEnd();
myProcess.WaitForExit();
myProcess.Close();
這意味着我調用路徑中的文件的方式是正確的。我也在命令提示符下嘗試了它,並且它返回了必要的輸出而沒有錯誤。當我調試代碼時,它說它會拋出system.invalidoperationexception
(在myProcess.start()
之後)的異常。
但它說here,它的預期。我錯過了什麼?預先感謝您的指導。