python和c#交互_python与C#的互相调用
python与C#的互相调用 一、C#调用python 新建一个项目,添加引用:IronPython.dll,Microsoft.Scripting.dll(在IronPython的安装目录中)。 创建一个文本文件命名为hello.py,把该文件添加的当前的项目中,并设置为总是输出。 #hello.py def welcome(name): return "hello" + name 调用hello.py文件中的方法: static void main(string[] args) { ScriptRuntime pyRunTime=Python.CreateRuntime(); dynamic obj=pyRunTime.UseFile("hello.py"); Console.Write(obj.welcome("Nick")); Console.ReadKey(); } 二、Python调用C# 示例一:调用dll中的方法 1.先准备一个C#写的dll,名称为IronPython_TestDll.dll using System; using System.Collections.Generic; using System.Text; namespace IronPython_TestDll { public class TestDll { public static int Add(int x, int y) { return x + y; } } public class TestDll1 { private int aaa = 11; public int AAA { get { return aaa; } set { aaa = value; } } public void ShowAAA() { global::System.Windows.Forms.MessageBox.Show(aaa.ToString()); } } } 2.调用C#的dll中的方法 import clr clr.AddReferenceByPartialName("System.Windows.Forms") clr.AddReferenceByPartialName("System.Drawing") from System.Windows.Forms import * from System.Drawing import * clr.AddReferenceToFile("IronPython_TestDll.dll") from IronPython_TestDll import * a=12 b=6 #静态方法可以直接调用 c=TestDll.Add(a,b) MessageBox.Show(c.ToString()) #普通方法需要先定义类 td=TestDll1() td.AAA=100 td.ShowAAA() 示例二:动态执行python代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using IronPython.Hosting; namespace TestIronPython { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { PythonEngine scriptEngine = new PythonEngine(); //设定dll文件所在的目录 scriptEngine.AddToPath(Application.StartupPath); //textBox1.Text中写的是python代码,但调用的是dll中的方法 scriptEngine.Execute(textBox1.Text); } } } //textBox1.Text中写的是如下代码,会计算弹出100的提示框。 a=12 b=6 c=TestDll.Add(a,b) MessageBox.Show(c.ToString()) td=TestDll1() td.AAA=100 td.ShowAAA()
python和c#交互_python与C#的互相调用相关推荐
- python中和js交互_python和js交互调用的方法
后台代码都是利用的 1.[get方式]使用jquery的get json与后台交互 前端js代码片段 var data= { 'a': $('input[name="a"]').v ...
- python与word交互_Python基础——与Python的指令交互
Python是近几年兴起的一门编程语言,也是人工智能的主要语言,在TIOBE排行榜上占据着不错的位置,是许多程序员学习的对象,对于孩子来说,学习Python还是有些吃力的,我们需要从头开始一点点学起. ...
- python与cad交互_python与C++交互
python和C++能进行有效的交互,c++调用Python的一些小用法 写了一个python脚本导入发生异常,可能是编码问题(如存在中文), Python默认的是ASCII 可加上: #!/usr/ ...
- python ssh实时交互_python SSH客户端的交互式和非交互方式
使用python中有一个paramiko模块来实现python SSH客户端,与SSH服务器交互时,需要注意有交互式和非交互式的区别. 只执行单条命令,之后就断开链接,可以使用非交互方式.执行多条命令 ...
- python与cad交互_python 使用pyautocad操作AutoCAD
一.python 连接AutoCAD的两种基本方法 1.使用pyautocad from pyautocad import Autocadpyacad = Autocad(create_if_not_ ...
- python多线程数据交互_python 多线程 通信
一篇文章搞定Python多进程(全) 公众号:pythonislover 前面写了三篇关于python多线程的文章,大概概况了多线程使用中的方法,文章链接如下: 一篇文章搞懂Python多线程简单实现 ...
- python 苹果系统 交互_Python常用模块os——与操作系统交互
os.getcwd() 返回当前工作目录绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit ...
- python 苹果系统 交互_Python常用模块os--与操作系统交互
os.getcwd() 返回当前工作目录绝对路径 Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit ...
- python ssh shell交互_python获取交互式ssh shell的方法
更新,最近在学unix环境编程,了解一下进程的创建过程,用最原始的方式实现了一个ssh命令的执行. #coding=utf8 ''' 用python实现了一个简单的shell,了解进程创建 类unix ...
最新文章
- Memcache与Memcached的区别
- CodeDom 笔记整理
- RHEL4- WEB服务(十二)用户访问apache服务器认证
- 建模matlab的算法代码呀,数学建模算法打包
- ubuntu下KDvelop中怎么显示行号
- PHP使用Charles抓包手机
- PhpStorm配置SVN的完整方法
- LeetCode 145 二叉树的后序遍历(非递归)
- 用正则表达式将前后空格用空字符串替代:replace(/(^\s*)|(\s*$)/g, )
- 典型的php系统由什么组成,完整的计算机系统由什么组成
- javac 编译JavaWeb项目
- php将文字生成图片显示,php生成文字图片效果
- VSCode创建vue模板(快捷方便)
- 数字签名的原理及其应用
- vscode 添加版权信息
- java电信计费项目_基于jsp的电信计费-JavaEE实现电信计费 - java项目源码
- PV,UV,VV 含义
- 2021React面试精选——持续更新
- GitHub 上 100K+ Star 的前端面试开源项目汇总(进大厂必备)
- DHCP报文交换抓包分析
热门文章
- DAY06-Python入门学习-元组、字典、集合类型
- mobx中的数组需要注意的地方
- LED 将为我闪烁: 控帘 j发光二级管
- Tiny210 编译Linux3.0.8
- JVM 自定义的类加载器的实现和使用
- 字符串转换 BSTR/LPSTR/LPWSTR/Char
- Oracle学习笔记:oracle服务在linux平台的启动问题
- MoveNet 姿态估计,树莓派上也能跑!
- 这个深度学习工业质检工具,效率提升30%,质量提高80%
- 6个部件组成一个圆球_2016年新课标人教版小学六年级数学上册单元练习题集