python 调用C# dll类库:pythonnet

1、前提

  1. dll文件的位数与python一致。比如dll文件是32位,python也得是32位。
  2. 我用的python3.6,版本太高了不行(我开始用的3.11)。
  3. 安装pythonnet库
  4. dll类库基于.NET Framework

2、示例

import os
import clr # 安装是pythonnet
import sys


sys.path.append(os.getcwd())
clr.FindAssembly("xxxx.dll")
dll = clr.AddReference("xxxx")

from namespace import classname


……
classobj = classname()
result = classobj.method(x, y)
……
print(result)
  1. 将当前工作目录添加到 Python 解释器的搜索路径中,以便能够找到所需的 DLL 文件。
  2. 使用 clr 模块的 FindAssembly 函数查找 xxxx.dll 程序集。
  3. 使用 clr 模块的 AddReference 函数将程序集 "Dechnic.dll" 添加到当前运行环境中。返回的 dll 对象是对该程序集的引用。
  4. xxxx.dll 程序集中的 **** 命名空间导入 *** 类。(或者你的函数)
  5. 创建了 classname 类的一个实例对象 classobj。这个对象可以用于调用 classname 类中定义的方法和属性。

ps:namespace、classname、method字段自行替换


发表评论

评论列表,共 0 条评论

    暂无评论