我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意
我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/
下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll
(1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下:
(2)c#调用python文件:
在当前目录下新建一个后缀名为py的文件,文件名为AmoutDisc.py内容如下
dicAmt = 0.05 retAmt = amt if amt>25: retAmt = amt-(amt*dicAmt)
该文件定义了一个python文件,然后在c#代码中调用该python文件,给该文件传参,具体应该说给参数amt传值,最后在代码中获取python文件中的retAmt的变量
值,具体代码如下:
ScriptRuntime scriptRuntime =Python.CreateRuntime(); ScriptEngine pythEng = scriptRuntime.GetEngine("Python"); ScriptSource scriptSource = pythEng.CreateScriptSourceFromFile("AmoutDisc.py"); ScriptScope scope = pythEng.CreateScope(); //scope.SetVariable("prodCount", Convert.ToInt32("34343")); scope.SetVariable("amt", Convert.ToDecimal("434")); scriptSource.Execute(scope); dynamic a = scope.GetVariable("retAmt");
结果如下:
调用成功.