为了账号安全,请及时绑定邮箱和手机立即绑定

如何从C#运行Python脚本?

如何从C#运行Python脚本?

慕标5832272 2019-06-26 16:04:18
如何从C#运行Python脚本?这类问题以前曾不同程度地提出过,但我觉得没有得到简明扼要的回答,所以我再问一次。我想用Python运行一个脚本。假设是这样的:if __name__ == '__main__':     with open(sys.argv[1], 'r') as f:         s = f.read()     print s它获取一个文件位置,读取它,然后打印它的内容。没那么复杂。好吧,我如何在C#中运行这个呢?这就是我现在所拥有的:    private void run_cmd(string cmd, string args)     {         ProcessStartInfo start = new ProcessStartInfo();         start.FileName = cmd;         start.Arguments = args;         start.UseShellExecute = false;         start.RedirectStandardOutput = true;         using (Process process = Process.Start(start))         {             using (StreamReader reader = process.StandardOutput)             {                 string result = reader.ReadToEnd();                 Console.Write(result);             }         }     }当我经过code.py位置为cmd而filename位置为args不管用。我被告知我应该通过python.exe就像cmd,然后code.py filename就像args.我已经找了很长一段时间了,只能找到建议使用IronPython之类的人。但是必须有一种方法从C#调用Python脚本。一些澄清:我需要从C#运行它,我需要捕获输出,我不能使用IronPython或其他任何东西。不管你有什么黑客都会没事的。P.S.:我运行的实际Python代码比这个要复杂得多,它返回我在C#中需要的输出,C#代码将不断调用Python。假装这是我的密码    private void get_vals()     {         for (int i = 0; i < 100; i++)         {             run_cmd("code.py", i);         }     }
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 1480 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信