广告
返回顶部
首页 > 资讯 > 后端开发 > Python >c#(IronPython)调用Pyth
  • 716
分享到

c#(IronPython)调用Pyth

IronPythonPyth 2023-01-30 23:01:14 716人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

直接一段代码演示 public void Starttcp() { ScriptEngine engine = python.CreateEngine(); var pat

直接一段代码演示

 public void Starttcp()
        {
            ScriptEngine engine = python.CreateEngine();
            var paths = engine.GetSearchPaths();
            List<string> lstPath = new List<string>();
            lstPath.AddRange(paths);
            lstPath.Add("Script");
           // lstPath.Add(@"D:\Program Files\Python\python37\Lib");
            lstPath.Add(@"D:\Program Files\IronPython 2.7\Lib");
            engine.SetSearchPaths(lstPath.ToArray());
            var scope = engine.CreateScope();
            var source = engine.CreateScriptSourceFromFile("Script/TCPClsClient.py");
             dynamic result= source.Execute(scope);
            //调用函数的2种方法
            // 第一种,通过参数方式转换委托调用,看起来不太简洁
            var  SetAddress = scope.GetVariable<Action<string,int>>("SetAddress");
            var Con = scope.GetVariable<Action>("Connect");
            var SendData = scope.GetVariable<Action<string>>("Send");
            var Revcive = scope.GetVariable<Action>("Revcive");
            var Close = scope.GetVariable<Action>("Close");
            SetAddress("localhost", 7777);
            Con();
            SendData("jinyu");
            Revcive();
            Close();
            //第二种,没有智能化提示,必须要转换为dynamic
            result = scope;
            result.SetAddress(result, "localhost", 7777);
            result.Connect();
            result.Send("jinyu");
            result.Recvice();
            result.Close();
            //因为是2.7版本,所以不能支持3.X版本的类方法调用
            //例如: result= scope.GetVariable("TCPClsClient");//调用构造,返回实例
            //result.SetAddress(result, "localhost", 7777);//不能执行,版本不支持3.X类函数调用
        }


 

 

--结束END--

本文标题: c#(IronPython)调用Pyth

本文链接: https://www.lsjlt.com/news/180715.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c#(IronPython)调用Pyth
    直接一段代码演示 public void StartTCP() { ScriptEngine engine = Python.CreateEngine(); var pat...
    99+
    2023-01-30
    IronPython Pyth
  • C#使用IronPython库调用Python脚本
    IronPython是一种在 .NET及 Mono上的 Python实现,由微软的 Jim Hugunin所发起,是一个开源的项目,基于微软的 DLR引擎。 IronPython的主...
    99+
    2022-11-13
  • C#使用IronPython调用Python的实现
    目录一、前言二、IronPython安装配置三、基础使用及标准库使用1、创建python脚本2、调用脚本四、IronPython调用第三方库1、创建python虚拟环境2、pytho...
    99+
    2023-02-08
    C# IronPython调用Python IronPython调用Python
  • Python 调用c#的dll pyth
    1.首先有准备好的c#的dll可供调用。需要本文的dll的自行下载dll2.安装pythonnet 在python的安装路径 Python\Python36-32\Lib\site-packages\pip   下执行 pip insta...
    99+
    2023-01-31
    Python dll pyth
  • C# 调用Python
    一、简介 IronPython 是一种在 NET 和 Mono 上实现的 Python 语言,由 Jim Hugunin(同时也是 Jython 创造者)所创造。 Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性...
    99+
    2023-10-07
    c# python
  • C++/CLI怎么调用C#
    这篇文章主要讲解了“C++/CLI怎么调用C#”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++/CLI怎么调用C#”吧!跨越语言的障碍:C++/CLI 调用 C#当C#项目需要引用C++...
    99+
    2023-06-17
  • c#如何调用c++的DLL
    这篇文章主要讲解了“c#如何调用c++的DLL”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“c#如何调用c++的DLL”吧!C#是托管型代码,创建的对象会自动回收。C++是非托管型代码,创建...
    99+
    2023-06-30
  • python调用C库
    编写C库test.c#include <stdio.h> #include <string.h> int strcmpTest(char *a, char *b) { return strcmp(a,...
    99+
    2023-01-31
    python
  • C++ Builder如何调用Visual C++ DLL
    C++ Builder如何调用Visual C++ DLL,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用C++Builder调用Visual C++ DLL 创建的DL...
    99+
    2023-06-17
  • C++中怎么调用C接口
    本篇文章为大家展示了C++中怎么调用C接口,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C++如何调用C接口首先提供一个C接口:#include"test.h" voi...
    99+
    2023-06-16
  • C#调用动态库
    一、引言 “为什么我们需要掌握互操作技术的呢?” 对于这个问题的解释就是——掌握了.NET平台下的互操作性技术可以帮助我们在.NET中...
    99+
    2022-11-13
  • c如何调用java
    步骤: 创建虚拟机; 获得class; 实例化对象:获得构造方法(方法名为“”),构造参数,调用方法。 调用方法:又分为获得方法,构造方法,调用方法。操作方法: 编译:javac Hello.java javap -p -s Hello.c...
    99+
    2019-05-24
    java入门 c 调用 java
  • php如何调用c
    这篇文章将为大家详细讲解有关php如何调用c,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。c语言源码:php语言源码:php 在调用的时候是调用c语言编译后的结果:a.o...
    99+
    2022-10-19
  • C#如何调用API
    这篇文章主要介绍C#如何调用API,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!我们有时需要遍历某个目录下的文件和子目录,可以使用System.IO.DirectoryInfo.GetDirectories或GetF...
    99+
    2023-06-17
  • C++如何调用python
    小编给大家分享一下C++如何调用python,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、首先要配好vs开发工程注意版本;我这使用32位的python那么我v...
    99+
    2023-06-22
  • python 使用ctypes调用C/C++ dll详情
    python和C/C++混合编程,推荐使用python的内置模块ctypes,从名字上可以看出是c,可见对C++的支持并不太好。 一般的步骤: 1、导入ctypes模块,加载C/C+...
    99+
    2022-11-10
  • Mac下如何使用Java调用c/c++
    小编给大家分享一下Mac下如何使用Java调用c/c++,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!前言向量化执行逐渐成为了列存数据库优化的热门方向,而Java...
    99+
    2023-06-20
  • C#使用RestClient调用WebAPI
    获取Token /// <summary> /// 获取Token /// </summary> /// ...
    99+
    2022-11-13
  • C++中怎么调用C链接库
    本篇文章给大家分享的是有关C++中怎么调用C链接库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C++调用C链接库,其实相对C调用C++。因为C++本来就向下兼容C吧但由于编译...
    99+
    2023-06-17
  • Android JNI c/c++调用java的实例
    Android JNI c/c++调用java的实例近期通过研究SDL源码 得出Android JNI  c/c++调用Java 无需新建虚拟机,这样省去很多步骤,这样调用Android JNI会变得非常容易,大家看下简单实例:具...
    99+
    2023-05-31
    android jni java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作