【发布时间】:2012-05-02 16:11:48
【问题描述】:
我想通过命令提示符从 C# 运行 python 代码。代码附在下面
Process p = new Process();
p.StartInfo.FileName = "cmd.exe";
p.StartInfo.WorkingDirectory = @"d:";
p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardInput = true;
p.Start();
p.StandardInput.WriteLine(@"cd D:\python-source\mypgms");
p.StandardInput.WriteLine(@"main.py -i example-8.xml -o output-8.xml");
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine("Output:");
Console.WriteLine(output);
Output :
D:\python-source\mypgms>main.py -i example-8.xml -o output-8.xml
D:\python-source\mypgms>
但什么也没发生。实际上 main.py 是我的主程序,它需要 2 个参数。一个是输入xml文件,另一个是转换后的输出xml文件。
但我不知道如何通过命令提示符从 C# 运行这个 python 脚本。请指导我摆脱这个问题...
感谢和问候, P.萨拉瓦南
【问题讨论】:
-
您希望发生什么?为什么要涉及 cmd.exe?为什么不运行 python.exe?
-
这里的主要问题是 cmd.exe 不解释 python 代码。你需要 python.exe 来做到这一点。