有会用c#调用python的吗?

 我来答
百度网友87b2a52
推荐于2016-04-17 · 知道合伙人软件行家
百度网友87b2a52
知道合伙人软件行家
采纳数:523 获赞数:3490
毕业于南京大学,硕士学位。10年软件研发经验。现任信息系统架构师。

向TA提问 私信TA
展开全部

给你两种方法,一种是调用一般的python程序,另一种是直接调用IronPython程序。

第一种:

void RunPythonScript(string path, string args = "")
        {
            path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "script\\" + path;
            
            p.StartInfo.FileName = "python.exe";
            string sArguments = "\"" + path + "\"";
            if (args.Length > 0)
            {
                sArguments += " " + args;
            }
            //p.StartInfo.WorkingDirectory = "D:\\";
            p.StartInfo.Arguments = sArguments;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            //p.CloseMainWindow();
            p.WaitForExit();
        }`

第二种:

代码需要引用两个命名空间IronPython和Microsoft.Scripting (文件位置分别为IronPython 2.7的安装目录下的IronPython.dll和Microsoft.Scripting.dll)。 

      public static void test1()
      {
            var engine = IronPython.Hosting.Python.CreateEngine();
            engine.CreateScriptSourceFromString("print 'hello world'").Execute();
            Console.ReadLine();
      }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式