c# 调用python语言

config   文件配置

<configuration>节中 第一个的位置插入如下节点,版本根据实际用到的来写

  <configSections>
    <section name="microsoft.scripting" type="Microsoft.Scripting.Hosting.Configuration.Section, Microsoft.Scripting"/>
  </configSections> 

<microsoft.scripting>     <languages>       <language names="IronPython,Python,py" extensions=".py" displayName="IronPython 2.7.5" type="IronPython.Runtime.PythonContext,IronPython"/>       <!--<language names="IronPython,Python,py" extensions=".py" displayName="IronPython 2.7.5" type="IronPython.Runtime.PythonContext,IronPython, Version=2.7.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>-->     </languages>

 

  </microsoft.scripting>

 

 

 

 

 

 添加      c#包 IronPython

引用  

  using Microsoft.Scripting.Hosting;

//存放python文件 的地址

  string scriptToUse;

 scriptToUse = "Scripts/AmountDisc.py";

         ScriptRuntime scriptRuntime = ScriptRuntime.CreateFromConfiguration();

//插入语言块的类型
            ScriptEngine rbEng = scriptRuntime.GetEngine("python");
            ScriptSource source = rbEng.CreateScriptSourceFromFile(scriptToUse);
            ScriptScope scope = rbEng.CreateScope();

//插入语言块需要的参数
            scope.SetVariable("prodCount", 3);
            scope.SetVariable("amt", 4);

//执行语言块            source.Execute(scope);

//通过语言块得到值
            textDiscAmount.Text = scope.GetVariable("retAmt").ToString();

posted @ 2017-11-21 09:48  临时工~  阅读(700)  评论(0编辑  收藏  举报