Вам не нужно проходить через cmd.exe.Сам интерпретатор Python является исполняемым;другими словами, он может быть запущен и выполнен напрямую.Аргументы для интерпретатора Python (например, путь + имя сценария, который должен быть выполнен) и требуемый рабочий каталог могут быть установлены с помощью соответствующих свойств Process.StartInfo :
Process process = new Process();
process.StartInfo.FileName = "python.exe";
process.StartInfo.Arguments = "Python_Code.py";
process.StartInfo.WorkingDirectory = @"F:\Path";
process.StartInfo.CreateNoWindow = true;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.UseShellExecute = false;
process.Start();
Теперьвам нужно только дождаться выхода интерпретатора Python (что означает, что он завершил выполнение сценария python)
process.WaitForExit();
и после завершения процесса Python просто проверьте, существует ли файл json / написано:
if (System.IO.File.Exists(pathToJsonFile))
{
... do stuff with json file ...
}
else
{
... json file does not exist, something went wrong...
}
Примечание: я сохранил process.StartInfo.RedirectStandardOutput = true;
в своем примере кода здесь, так как я не знаю, что на самом деле сделает ваша программа.Однако, если ваша программа не хочет обрабатывать вывод сценария, который обычно отображается в окне консоли, установка RedirectStandardOutput в true не требуется.