当下,C#与Python都是比较热门的计算机编程语言,他们各有优缺点,如果能让他们互相配合工作,那是多么美好的事情,今天我来讲解一下如何利用C#来调用Python。
如果让C#支持调用Python模块,我们首先需要安装一些扩展,这里推荐使用IronPython库。
第一步,我们需要下载IronPython库的安装包,这里请大家移步官网 http://ironpython.codeplex.com/ ,下载并安装相关库文件。
第二步,我们新建一个C#控制台测试项目,并将IronPython安装目录中的如下DLL文件添加进项目引用。
第三步,我们分别编写C#代码,并添加Python代码文件到项目中,代码如下。
C#代码部分
1 using System; 2 using IronPython.Hosting; //导入IronPython库文件 3 using Microsoft.Scripting.Hosting; //导入微软脚本解释库文件 4 5 6 namespace ConsoleApplication1 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 ScriptRuntime pyRuntime = Python.CreateRuntime(); //创建一下运行环境 13 dynamic obj=pyRuntime.UseFile("debug.py"); //调用一个Python文件 14 int num1, num2; 15 Console.Write("Num1:"); 16 num1 = Convert.ToInt32(Console.ReadLine()); 17 Console.Write("Num2:"); 18 num2 = Convert.ToInt32(Console.ReadLine()); 19 int sum = obj.add(num1, num2); //调用Python文件中的求和函数 20 Console.Write("Sum:"); 21 Console.WriteLine(sum); 22 } 23 } 24 }
Python代码部分
def add(num1,num2): return num1+num2;
编译时需要修改工程中的Python文件属性如下图,否则会报出文件无法定位的错误,运行结果如下右图。
通过上面的实验过程,大家可以很容易的使用C#调用Python文件,但是不知道大家是否会和我产生相同的疑惑,如何把C#的可执行程序与Python文件打包呢? 如果是简单的压缩,可能会缺失运行所需的库文件,如果你也对此有疑问,请留意博客的下一篇文章:利用Visual Studio寻找程序必要的运行库文件。