当前位置: 首页 > news >正文

嘉兴秀洲区建设局网站深圳房产 网站建设

嘉兴秀洲区建设局网站,深圳房产 网站建设,品牌设计和广告设计,小企业网站建设是怎么做的一、简介 IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。 Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python是…

一、简介

IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。
Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python是一种解释型脚本语言,可以应用于以下领域:
● 科学计算和统计
● 人工智能
● 桌面界面开发
● 软件开发
● 后端开发
● 网络爬虫

 二、创建 C# 项目

新建一个 Winform 项目 CSharpCallPython

为了更方便的看到控制台打印的效果,在 项目属性 --> 应用程序 将输出类型改为控制台输出

三、C# 调用 Python

1.IronPython 插件

在 NuGet 中安装 IronPython 插件

在项目的 Debug 目录下添加一个 Python 脚本 test.py ,

在 test.py 中添加下面的代码:

def sayHi():print("f**k you")def add(x,y):try:return x + yexcept Exception as err:return str(err)def arrSum(arr):try:sum = 0for i in arr:sum += ireturn sumexcept Exception as err:return str(err)

此时,Python 的工作就完成了,接下来我们继续完成 C# 剩余的逻辑。

winform 界面只需要添加一个按钮即可

Form1 代码:

using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
using System;
using System.Windows.Forms;namespace CSharpCallPython
{public partial class Form1 : Form{public Form1(){InitializeComponent();}private string PythonScriptPath = string.Empty;private ScriptEngine PyEngine = null;private void Form1_Load(object sender, EventArgs e){PythonScriptPath = Application.StartupPath + "\\test.py";PyEngine = Python.CreateEngine();}private void button1_Click(object sender, EventArgs e){dynamic py = PyEngine.ExecuteFile(PythonScriptPath);py.sayHi();var sum = py.add(3, 5);Console.WriteLine("add 方法的和是:{0}", sum);int[] arr = new int[3] { 2, 4, 6 };var sum1 = py.arrSum(arr);Console.WriteLine("数组的和是:{0}", sum1);}}
}

运行后,点击按钮后效果:

2.调用 Python.exe 程序执行

调用 python.exe 文件执行后,由 exe 文件返回执行结果,需要安装 python,下面的代码我试了几次,根本没有效果,返回值都是null,可能是个人配置出了问题,这里就展示一下吧。

C# 代码参考:

Process p = new Process();
//环境安装路径 (已经配置了系统变量,所以可以直接写python.exe)
p.StartInfo.FileName = @"python.exe";
//dll+空格+参数
p.StartInfo.Arguments = @"D:\Develop\TEST\OCR\OCRdemo.py 2 3";//参数以空格分隔,如果某个参数为空,可以传入””
p.StartInfo.UseShellExecute = false; //必需
p.StartInfo.RedirectStandardOutput = true;//输出参数设定
p.StartInfo.RedirectStandardInput = true;//传入参数设定
p.StartInfo.CreateNoWindow = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();//等待外部程序退出后才能往下执行}
Console.Write(output);//输出
p.Close(); 

另外,还有其他的一些调用的方式,比如使用 c++ 程序调用 python文件,然后将其做成动态链接库(dll),在 C# 中调用此dll文件,这种方式很复杂,并且受 python 版本、(python/vs)32/64位影响,而且要求用户必须安装python运行环境。

end

http://www.yayakq.cn/news/935287/

相关文章:

  • 网站建设效果有客优秀网站建设效果wordpress静态文件
  • 做直播网站找哪家网站如何WordPress去除顶部
  • 北京做网站电话自己做网站挂广告
  • 公司网站的好处公司部门名称大全
  • 网站策划书是什么建工网招聘
  • 黄冈网站建设公司wordpress固定连接打不开
  • 江苏建设人才官方网站珠海集团网站制作外包
  • 四川住房城乡建设周刊网站wordpress 上帝模式
  • 网站后台怎样推荐图片上海最新新闻热点事件
  • 2015做网站前景定制制作网站价格表
  • 如何自建网站做外贸wordpress编辑器内容
  • 有没有做任务给钱的网站怎么重建wordpress
  • 如果做vr参观网站唐朝网站
  • 怀化网站制作网络营销方案成功案例
  • vps 网站 需要绑定域名吗500万在北京几环买房
  • 百度建站wordpress采集公众号
  • 汉网网站建设seo内容优化方法
  • 石家庄房产信息网站wordpress服务框
  • 建设网站教程全集阿里网站官网入口
  • 带导航栏的网站北京鲜花的网站建设
  • 徐州网站制作怎样wordpress标签小工具
  • 网站开发 自动生成缩略图个人阿里云账号可以做网站备案
  • 做网站42类商标怎么选小类个人社保缴费比例
  • 成都网站制作培训做网站跟app需要多少钱
  • 合肥网站建设优化重庆新闻联播今天
  • wordpress网站专题中铁建设集团有限公司官网
  • 计算机毕设做网站网站数据模版
  • 重庆网站建设eyoucwordpress密码文件夹
  • 景德镇网站制作公司网站建设实施方案
  • 《电子商务网站开发与管理》做网站一般长宽多少