一、首先,我们需要添加运行环境
在Nuget中添加IronPython。
随后在代码头文件中添加
using IronPython.Hosting; //IronPython库文件
using Microsoft.Scripting.Hosting; //微软脚本解释库文件
二、接下来我们需要准备好Python代码,此次实验中定义了两个函数
def add (a,b):
return a+b;
def dec (a,b):
return a-b;
为了防止报Non-ASCII character '\xe8' in file .的错误,可以在Python的开头添加编译注明代码指定其编码模式。
#encoding:utf-8
三、将编译好的.py文件放置在C#工程的bin/debug文件夹下
四、在C#代码中引用对应的Python函数
ScriptRuntime pyRuntime = Python.CreateRuntime(); //创建运行环境
dynamic obj = pyRuntime.UseFile("TestDemo.py"); //实例化python对象
int a=0, b=0;
Console.WriteLine("请输入第一个数");
a = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入第二个数");
b = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Python加法");
Console.WriteLine(obj.add(a, b)); //调用Python文件中的求和函数
Console.WriteLine("Python减法");
Console.WriteLine(obj.dec(a, b)); //调用Python文件中的求和函数
Console.Read();
其中obj对象后跟需要调用的python函数名
执行结果如下