我是C#的新手,我尝试使用ProcessStartInfo
类执行python程序。我遵循了this link ,并做了同样的事情。但是,我无法获得任何重定向输出。我尝试使用参数执行Python解释器,没有问题。但是,我看到控制台弹出,然后立即消失。没有输出打印。我尝试使用方法process.waitForExit(
),但控制台也消失了。有什么想法吗?
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe";
start.Arguments = @"C:\Users\test\test.py";
start.UseShellExecute = false;
start.RedirectStandardOutput = true;
start.RedirectStandardError = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Console.Write(result);
process.WaitForExit();
}
}
答案 0 :(得分:1)
如果从VS启动应用程序,则VS在完成执行后将关闭应用程序控制台。尝试将Console.ReadLine()
添加为程序的最后一行。
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
Console.Write(result);
}
}
Console.ReadLine();