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.dllusing 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
然后成功!
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- c#调用COM组件
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例