详解Python 调用C# dll库最简方法

yipeiwu_com7年前Python基础

1.为什么要跨平台编程?双平台编程或多平台编程,只是为提供更好开发更兼容的解决方案的一种手段,编程时服务于产品和客户的,也是因地制宜。

先安装python所需的库clr ,我这里已经安装了,可以去对应的根目录下查看有没有pythonnet这个文件夹。

2.首先要特别注意,你安装使用的Python的版本是对应x64还是x32的,python只能调用对应64位或32位的dll,可以右击启动项目的属性,修改并重新生成。

特别注意:启动项目和你的目标库不一样,前者输出类型是windows应用或是控制台,后者输出类型是类库,这个才是生成dll的类型。

3.再次,右击启动项目的属性,选则bin\Debug下的你想要的dll。

4.python中对动态链接库的引用,并将dll文件放到.py文件的同级目录下。第三行代码是声明要调用其空间下所有的类、属性、方法等等。

import clr # add C# suppor
clr.AddReference('In3Controllers')

from In3Controllers import *

5.这个Testor就是我在C#写的代码,生成的In3Controllers.dll的动态链接库里面的一个函数。到这里已经完成了引用C# dll库的所有步骤。

if __name__ == '__main__':

  smctestor = Testor(setting, param)            # place here so it can only init once

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Python命令行传递实例化对象的方法

一、前言 在开发过程中,遇到了这样一个情况:我们需要在脚本中通过 suprocess.call 方法来启动另外一个脚本(脚本 B),当然啦,还得传递一些参数。在这些参数中,有一个需要传...

Python编写检测数据库SA用户的方法

本文讲述一个用Python写的小程序,用于有注入点的链接,以检测当前数据库用户是否为sa,详细代码如下: # Code by zhaoxiaobu Email: little.bu@...

django模板结构优化的方法

模版结构优化 引入模版 有时候一些代码是在许多模版中都用到的。如果我们每次都重复的去拷贝代码那肯定不符合项目的规范。一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函...

Python+django实现文件上传

1、文件上传(input标签)  (1)html代码(form表单用post方法提交) <input class="btn btn-primary col-md-1"...

python 实现生成均匀分布的点

如下所示: import numpy as np print(np.linspace(-100,100,201) np.linspace(),起始位置,终止位置,中间包括0,一共要...