0
以下はPythonプロセスへの呼び出しですが、StandardOutput
は返されません。私は意図的にPythonファイルの中にタイプミスをして、StandardError
を正常に返しました。StandardEutrorは表示されますが、C#でプロセスを呼び出すときにStandardOutputは表示されません
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と述べています。私は何が欠けていますか?あなたの指導のために事前にありがとうございます。