C# 调用Python库 最简单方法
起个头,技术性文章应该言简意赅(因我看到外国回答问题都是可以一句代码解决的,绝不会写第二句),实现功能无误再贴出文章。
首先我不用 IronPython来写这个.py文件,因为我有Pycharm,而且ipy需要配置某些环境,且代码没有提示,不推荐。
直入主题:
1.安装IronPython并在其路径下找到
找到这两个dll,并复制到代码对应路径下。
2.引用
,添加引用,在刚才的路径找到即可。
3.py写个简单的函数
,简单能运行,函数有个返回值就行。
4.项目中添加新文件夹,右键打开文件路径,将.py文件复制进去。
5.引用空间。
using IronPython.Hosting;
using Microsoft.Scripting.Hosting;
6.我这里创建的是窗体的一个项目。其中这两行是对python的链接,创建和配置环境,obj就是这个.py文件的实例了。
ScriptRuntime pyRunTime = Python.CreateRuntime();
dynamic obj = pyRunTime.UseFile(pyPath+"IronPy_Test.py");
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms; using IronPython.Hosting;
using Microsoft.Scripting.Hosting; namespace WinForm_ipy
{ public partial class Form1 : Form
{
//这是.py文件的路径
string pyPath = "C:\\Users\\hongheng.mei\\Desktop\\InronPy\\WinForm_ipy\\WinForm_ipy\\PythonFiles\\";
public Form1()
{
InitializeComponent();
} private void btnOpen_Click(object sender, EventArgs e)
{
ScriptRuntime pyRunTime = Python.CreateRuntime();
dynamic obj = pyRunTime.UseFile(pyPath+"IronPy_Test.py");
var value = obj.Hello();
tbxDisplay.Text = value;
MessageBox.Show(value); }
}
}
7.关于有些人要设置.py文件属性为始终复制,而我是默认的不复制也能正常运行,这我没弄清楚。
8.最后就是运行效果。
最后,程序员的生命是有限的,何必看长篇大论。
C# 调用Python库 最简单方法的更多相关文章
- Python库的安装方法
Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...
- ODOO区分测试库和正式库的简单方法
ODOO区分测试库和正式库的简单方法.1. 打开 开发者模式,右上角能显示数据库名称,缺点是,太耗系统资源了,数据多的时候就明显感觉慢了.2. 安装社区的显示测试帐套的模块, 若是正式环境还是尽量少装 ...
- C#调用Python脚本的简单示例
C#调用Python脚本的简单示例 分类:Python (2311) (0) 举报 收藏 IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Huguni ...
- 【翻译】无需安装Python,就可以在.NET里调用Python库
原文地址:https://henon.wordpress.com/2019/06/05/using-python-libraries-in-net-without-a-python-installat ...
- python反转字符串(简单方法)及简单的文件操作示例
Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...
- 调用MyFocus库,简单实现二十几种轮播效果
一.首先点击这里下载myFocus库文件,标准文件库就行了,很小仅仅1.4M. myFocus库有以下的好处: a . 文件小巧却高效强大,能够实现二十几种轮播的效果. b . 极其简单的使用,只需要 ...
- 配置git同时push到两个远端库的简单方法
最近在写一个开源的论坛系统,在发布代码时选择了github和coding这两个平台,我手懒,不想敲两次git push了,所以说突然有了一个很奇怪的需求:用一条git push同时push到两个远端代 ...
- day-13 python库实现简单非线性回归应用
一.概率 在引入问题前,我们先复习下数学里面关于概率的基本概念 概率:对一件事发生的可能性衡量 范围:0<=P<=1 计算方法:根据个人置信区间:根据历史数据:根据模拟数据. 条件概率:B ...
- Python之tkinter:调用python库的tkinter带你进入GUI世界(二)——Jason niu
#tkinter:tkinter应用案例之便签框架LabelFrame的应用将组件(多选按钮)放到一个框架里 from tkinter import * root=Tk() root.title(&q ...
随机推荐
- [Day21]异常
1.异常-Java代码在运行时期发生的问题,在Java中,把异常信息封装成了一个类.当出现了问题时,就会创建异常类对象并抛出异常相关的信息 1.1 异常的继承体系 Throwable:它是所有错误与异 ...
- VueJS教程
文档资料参考: 参考:https://cn.vuejs.org/ 参考:Vue-Cli(客户端) 参考:创建一个Vue项目 参考:https://codesandbox.io 参考:https://c ...
- 搭建MHA测试
搭建MHA: 手工切换: masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_maste ...
- Docker Machine批量安装docker host
Dokcer Machine Docker Machine 可以批量安装和配置 docker host 提高docker的安装效率 同时减少人工安装操作的失误 [root@localhost ...
- box-sizing:border-boxing的使用
<div class="box"></div> .box { margin-top: 200px; margin-left: 200px; backgrou ...
- Mysql集群原理
一. 主从复制概述 在实际生产中,数据的重要性不言而喻,提供安全可靠的数据保障是技术与运维部门的职责所在:如果我们的数据库只有一台服务器,那么很容易产生单点故障的问题,比如这台服务器访问压力过大而没 ...
- Android Studio旧版(内含SDK)安装和环境变量配置 转自I-T枭
win10下Android Studio和SDK下载.安装和环境变量配置 ------made by siwuxie095 转自I-T枭https://me.csdn.net/hahahhahahah ...
- svn 安装
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...
- cocos2dx在win10系统上的VS2017运行时报错:丢失MSVCR110.dll
如题,运行环境为cocos2dx 3.14.1,win10系统,VS2017. 编译cocos2dx的cocos2d-x-3.14.1/build/cocos2d-Win32.sln已通过,不过运行时 ...
- Sitecore 8.2 页面架构设计:模板与组件
介绍 Sitecore的开放式架构和众多API意味着在Sitecore中实施网站可能会在很多方向上发生偏差.架构的一个特别重要的方面涉及页面构建 - 如何构建Sitecore中的网页? Sitecor ...