C#调用Python 脚本语言
1. 安装IronPython
http://pan.baidu.com/s/1qW4jNJ2
下载IronPython 2.7
安装下载下来的安装包
2. 创建项目
创建一个C#的Windows窗体应用程序。
添加引用: 浏览到IronPython的安装目录中,添加对IronPython.dll,Microsoft.Scripting.dll 两个dll的引用。
3. 添加Python文件到当前的项目中
为项目 添加->新建文件夹,命名为“PythonFiles”,把所有的Python脚本放在这个文件夹下,
创建一个文本文件命名为:hello.py, 编辑如下
def Strengthen_Money_WuQi(Grade, Count):
result = ((25 + Grade) * Count * Count - Grade * Count) * 2;
return result
这是一个武器强化所需金钱的脚本,
把该文件添加的当前的项目中。
4. 在C#中调用Python方法
添加一个按钮控件,双击按钮为其添加代码:
首先添加引用,它们定义了Python和ScriptRuntime两个类型:
using IronPython.Hosting; using Microsoft.Scripting.Hosting;
实现功能如下:
private void button1_Click(object sender, EventArgs e) { ScriptRuntime pyRunTime = Python.CreateRuntime(); dynamic obj = pyRunTime.UseFile("PythonFiles/hello.py"); int val = obj.Strengthen_Money_WuQi(5, 2); MessageBox.Show(val + ""); }
第一句代码创建了一个Python的运行环境,第二句则使用.net4.0的语法创建了一个动态的对象, OK,下面就可以用这个dynamic类型的对象去调用刚才在定义的welcome方法了。
注意:在运行前一定要把hello.py文件设为:Copy always.
否则运行时会报找不到hello.py文件
运行如下: