c#调用python脚本_C#调用Python 脚本语言

1. 安装IronPython

下载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(, );

MessageBox.Show(val + "");

}

第一句代码创建了一个Python的运行环境,第二句则使用.net4.0的语法创建了一个动态的对象, OK,下面就可以用这个dynamic类型的对象去调用刚才在定义的welcome方法了。

注意:在运行前一定要把hello.py文件设为:Copy always.

否则运行时会报找不到hello.py文件

运行如下:

C#调用Python脚本的简单示例

C#调用Python脚本的简单示例 分类:Python (2311)  (0)  举报  收藏 IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Huguni ...

通过Java调用Python脚本

在进行开发的过程中,偶尔会遇到需要使用Java调用Python脚本的时候,毕竟Python在诸如爬虫,以及科学计算等方面具有天然的优势.最近在工作中遇到需要在Java程序中调用已经写好的Python程 ...

Python 脚本语言

python 脚本语言(python的命名起源于一个脚本screenplay,每次运行都会使对话框逐字重复.由著名的“龟叔”Guido van Rossum在1989年圣诞节期间编写.) Python ...

linux+php+apache web调用python脚本权限问题解决方案

lamp : linux + apache + mysql + php 在上篇随笔中linux+php+apache调用python脚本时出现的问题的根本原因是:apache运行时使用的apache用 ...

linux+php+apache web调用python脚本权限问题

lamp : linux + apache + mysql + php 在近期项目中使用 linux + apache + php调用python脚本是出现以下权限问题: build/bdist.li ...

PHP 调用Python脚本

上次做用户反馈自动翻译,写了个python脚本,将日文的用户反馈翻译成中文,效果虽然可以,但其它不懂python的童鞋就没法使用了,所以搭了个web服务,让其他人可以通过网页访问查询.使用的是apac ...

C++中调用Python脚本

C++中调用Python脚本的意义就不讲了,至少你可以把它当成文本形式的动态链接库, 需要的时候还可以改一改,只要不改变接口, C++的程序一旦编译好了,再改就没那么方便了 先看Python的代码 代 ...

java调用python脚本并向python脚本传递参数

1.安装Eclipse 先安装jdk,再安装Eclipse,成功后开始建立py_java项目,在这个项目的存储目录SRC下建立test包,在test包中New-Class,新建MyDemo类,建好完成 ...

Window环境下,PHP调用Python脚本

参考 php调用python脚本*** php 调用 python脚本的方法 解决办法:php提供了许多调用其他脚本或程序的方法,比如exec/system/popen/proc_open/passt ...

随机推荐

Markdown编辑器简单总结

字体大小: #1 ##2 添加链接: 文字链接 [blog](http://yalantis.com/blog/how_we_created_tab_bar_animation_for_ios/?ut ...

Android BLE 蓝牙低功耗教程,中央BluetoothGatt和周边BluetoothGattServer的实现

http://blog.csdn.net/wave_1102/article/details/39271693 分类: Android(105) 作者同类文章X Android4.3 规范了BLE的A ...

C链表反转(时间复杂度O(n))

面试的时候经常会出现的问题,现在都做一遍,回忆一下,练练手. 这个题目需要注意两点: 1.head->next 要先设置为NULL ,否则反转后,它还是指向之前的next节点 2.需要有一个tm ...

Python算术运算符

Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持 ...

多线程笔记--原子操作Interlocked系列函数

前面写了一个多线程报数的功能,为了描述方便和代码简洁起见,只输出最后的报数结果来观察程序运行结果.这非常类似一个网站的客户访问统计,每个用户登录用一个线程模拟,线程运行时将一个表示计数的变量递增.程序 ...

css运用中,对position属性的认识

position属性有: static : 无特殊定位,对象遵循HTML定位规则 absolute : 将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位.而其层叠 ...

R分词

#用于下载安装rJava 和 Rwordseg,如果安装了就注释掉 install.packages("rJava") install.packages("Rwordse ...

TCP/IP详解(包含ack,seq)

前言 个人认为在web开发中,对于TCP/IP协议的理解是首当其冲的,在大多数框架的冲击下,使我们淡化了对于TCP/IP协议的理解. 理解好TCP/IP对于每个web开发者都是很有必要的. TCP/I ...

【redis】3.Spring 集成注解 redis 项目配置使用

spring-data-redis  项目,配合 spring 特性并集成 Jedis 的一些命令和方法. 配置redis继承到spring管理项目,使用注解实现redis缓存功能. 参考:http: ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值