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

时间:2012-04-04 12:50:59

标签: python .net dll ironpython python.net

我的桌面上有一个USB到单线适配器,我想自动使用它。我用它来编程dallaskeys,这是通过onewire编程和读取的徽章。

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

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

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/

1 个答案:

答案 0 :(得分:2)

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

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

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

adapter = OneWireAccessProvider.getDefaultAdapter()