C# 在C中通过CMD传递python文件读取命令
我在通过C发送CMD读取python命令时遇到了问题。实际上,我必须在CMD中打开文件,然后从C开发的GUI向python文件传递几个命令,比如读取db和传递其他约束。下面是我的代码 我试过使用cmd.exe,也试过使用到PYTHON/PYTHON.exe的完整路径,但我无法打开文件,然后发送命令,比如读取db。 在cmd中,我通过打开文件ike python-i saddle.py来实现这一点,但在这里,这个命令不像我尝试的proc.StandardInput.WriteLinepython-i saddle.py那样工作;但系统崩溃了。 我甚至为这个解决方案找到了IronPython,但我不知道这会解决我的问题,因为我不知道如何在文本框中读取它的输出C# 在C中通过CMD传递python文件读取命令,c#,python,visual-studio,C#,Python,Visual Studio,我在通过C发送CMD读取python命令时遇到了问题。实际上,我必须在CMD中打开文件,然后从C开发的GUI向python文件传递几个命令,比如读取db和传递其他约束。下面是我的代码 我试过使用cmd.exe,也试过使用到PYTHON/PYTHON.exe的完整路径,但我无法打开文件,然后发送命令,比如读取db。 在cmd中,我通过打开文件ike python-i saddle.py来实现这一点,但在这里,这个命令不像我尝试的proc.StandardInput.WriteLinepython-
private void button5_Click(object sender, EventArgs e)
{
ProcessStartInfo psi = new ProcessStartInfo();
psi.WorkingDirectory = @"E:\..\saddle";
psi.FileName = "cmd.exe";
psi.UseShellExecute = false;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.RedirectStandardInput = true;
psi.RedirectStandardError = false;
var proc = Process.Start(psi);
proc.StandardInput.WriteLine("saddle.py");
// proc.StandardInput.WriteLine("open_db(['db/generic.xml', 'db/generic-server.xml','db/intel-xeon-2600.xml', 'db/intel-xeon-phi.xml','db/memory.xml', 'db/network.xml', 'db/hdd.xml','db/ssd.xml'])");
proc.StandardInput.WriteLine("exit");
string s = proc.StandardOutput.ReadToEnd();
Output1.Text = s;
}
您需要这样做才能从C字符串中对cmd运行命令
string command = "python -i saddle.py";
然后
System.Diagnostics.Process.Start("CMD.exe",command);