• python与c#的交互模块pythonnet


     今天总结一下python与c#的交互模块pythonnet,其实微软也是有相应的解释器的,就是Ironpython,可是毕竟Ironpython还有很多东西没有从python那边继承过来,所以有时候用起来并不是那么爽。但是好在强大的社区总会给我们惊喜,pythonnet就是其中一个让我惊喜的模块,它可以平滑的和C#进行交互。但是网上这方面的资料还是太少了,不过最终还是折腾出来了。下面就上代码吧。

    复制代码
    # coding=utf-8
    
    # clr是公共运行时环境,这个模块是与C#交互的核心
    import clr
    import sys
    # 导入clr时这个模块最好也一起导入,这样就可以用AddReference方法
    import System
    
    sys.path.append(r'd:dll')  # 加载c#dll文件路径
    
    clr.FindAssembly('ClassLibrary5.dll')  # 加载c#dll文件
    
    from  ClassLibrary5.aaaaa import *  # 导入命名空间
    
    a = clr.AddReference('ClassLibrary5')  # 实例化C#类库,这样可以调用,比如这个类库的来源Location
    
    c1 = bbbbb()
    
    print a.Location
    
    c1.a()
    
    print dir(System)
    复制代码

    代码注释的比较清楚了,有几点需要注意的地方,加载c#dll文件时,必须用

    clr.FindAssembly方法而不是clr.ADDReference方法,而且导入clr模块时,最好也把System模块导入,原因注释里已经说了,最后注意一点就是一定要把C#的命名空间当做模块导入进来。以上就是pythonnet的大概用法。其他的用法还需要在以后的使用过程中好好研究一下!
  • 相关阅读:
    WPF之感触
    C# WinForm 给DataTable中指定位置添加列
    MyEclipse 8.6 download 官方下载地址
    将博客搬至CSDN
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
    Building Microservices with Spring Cloud
  • 原文地址:https://www.cnblogs.com/ExMan/p/10165749.html
Copyright © 2020-2023  润新知