【发布时间】:2017-05-31 20:42:41
【问题描述】:
对不起,如果这是显而易见的事情,我是 C# 的超级新手。 我正在开发一个程序,该程序运行 python 脚本以在线检查某些内容,然后将其写回 C# 读取并放入表单的文件。如果我同时手动运行它们,一切正常,但我真的想从 C# 程序启动脚本。
下面是应该启动 python 脚本的函数:
private void RunPython()
{
Process p = new Process();
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "python " + path + "\\foo.py";
p.StartInfo = startInfo;
p.Start();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
// get things set up... etc.
RunPython();
}
我试过在不隐藏窗口的情况下运行它,它只是在“路径”目录中显示一个空的 cmd 行。它从不运行python脚本吗?它看起来不像,但它也可能正在运行它并立即关闭它。我说不出来。
我需要它在 C# 程序运行期间保持打开状态,所以如果问题是它在 RunPython() 方法返回时退出,我有什么不同的方法可以解决这个问题吗?
谢谢!!
【问题讨论】:
-
你能发帖
foo.py吗? -
好像500行,当我从命令行手动启动它时它工作。如果我分别启动两个程序,整个事情就可以了,我只是想找到一种只需要启动一个的方法