加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在pythonnet中使用OWdotNET.dll(python for .NET)

发布时间:2020-12-14 05:36:12 所属栏目:Windows 来源:网络整理
导读:我的桌面上有一个USB到单线适配器,我想自动使用它.我用它来编程dallaskeys,这是通过onewire编程和读取的徽章. 有一个托管DLL提供API,我喜欢python所以我想使用这个第三方托管DLL来自“python for .NET”又名pythonnet. 我的脚本如下所示,运行没有问题: impo
我的桌面上有一个USB到单线适配器,我想自动使用它.我用它来编程dallaskeys,这是通过onewire编程和读取的徽章.

有一个托管DLL提供API,我喜欢python所以我想使用这个第三方托管DLL来自“python for .NET”又名pythonnet.

我的脚本如下所示,运行没有问题:

import os
import clr
from clr import System

oneWireLibrary = clr.FindAssembly("OWdotNET")
System.Reflection.Assembly.LoadFile(os.path.abspath(oneWireLibrary))

但是,我无法弄清楚如何使用库中的类.我试过clr.OWdotNET
但这给了我一个属性错误.
我也尝试过clr.AddReference(“OWdotNET”).

链接:

http://files.maxim-ic.com/sia_bu/softdev/owdocs_400beta2/Docs/OW.NET/OW.NET_Primer.html

http://pythonnet.github.io/

解决方法

我从IronPython的角度回答这个问题,但我相信它在Python for .NET中是类似的.

clr.AddReference调用可以被认为类似于将.NET程序集路径添加到sys.path,您告诉运行时它,但是您仍然需要将名称空间导入当前作用域.

import clr
clr.AddReference("OWdotNET")
from com.dalsemi.onewire import OneWireAccessProvider

adapter = OneWireAccessProvider.getDefaultAdapter()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读