Итак, у меня есть python
проект внутри этой папки: C:\root
и внутри этого path
у меня есть этот файл: C:\root\\my_class.py
И из command-line
:
cd C:\root
И чем запустить мойкод:
python my_class.py -p C:\Regression -a some_value -n HW
Так что из командной строки это работает нормально, но теперь я хочу запустить его из c#
кода и прочитать вывод:
Изменить каталог:
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = @"C:\root";
p.StartInfo.UseShellExecute = false;
p.Start();
Запустите мою команду
string pythonPath = @"C:\Python37\python.exe";
string command = "C:\root\\my_class.py -p C:\\Regression -a some_value -n HW";
Process process = new Process();
process.StartInfo.FileName = pythonPath;
process.StartInfo.Arguments = command;
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
process.ErrorDataReceived += new DataReceivedEventHandler(OutputHandler);
process.Start();
process.BeginOutputReadLine();
process.BeginErrorReadLine();
process.WaitForExit();
Console.ReadLine();
Так что в этом случае, когда я запускаю эту команду, используя c#
, я получаю это error
:
C: \ Python37 \ python.exe: не удается открыть файл 'C: \ root \ my_class.py': [Errno 22] Неверный аргумент