您的位置:首页 > 编程语言 > Python开发

C#调用Python语言

2015-10-23 20:57 645 查看

本次实验是vs2010版本以下(包括vs2010),我记得如果是高版本的话好像已经内置了,所以比较简单

1.去官网下载IronPython,链接http://ironpython.codeplex.com/,它是IronPython 是一种在 NET 和 Mono 上实现的
Python 语言

2.打开vs,添加两个引用,在IronPython的安装根目录下面选择IronPython.dll和Microsoft.Scripting.dll

using Microsoft.Scripting.Hosting;

using IronPython.Hosting;

//前面要导入两个名称空间

 private void button1_Click(object sender, EventArgs e)

        {

            ScriptEngine pyEngine = Python.CreateEngine();       //建立python引擎

            pyEngine.CreateScriptSourceFromFile("demo1.py").Execute();      //执行.py脚本 

        }

3.上面这个"demo1.py"是你的Python脚本文件,如果想通过上面两句执行.py文件必须,前提是你还要导入别的模块,就必须加入在最前面写入以下代码,还有要设置脚本属性中(vs中右键)“复制到输出目录中”这一项,选择始终复制(所有脚本一样)
import sys
sys.path.appedn("C:\IronPython 2.7\Lib")#看自己的Lib路径

4.调用python的方法//配置python的环境,另写一个脚本demo2.py
ScriptRuntime pyRuntime = Python.CreateRuntime();

dynamic obj = pyRuntime.UseFile("demo2.py");

var a = obj.ShutDown(1800);                                //调用脚本的ShutDown方法,1800时间单位为秒

if (a == 1)

{

   Console.WriteLine("倒计时设置成功");

}


下面是我调用的python文件"demo2.py"
import sys

sys.path.append("C:\IronPython 2.7\Lib")

import os

def ShutDown(delayTime):
os.system('shutdown -s -t %d'%(delayTime))
return 1

然后成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息