4

机の上に USB から 1 ワイヤへのアダプタがあり、その使用を自動化したいと考えています。私はこれを 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/

4

1 に答える 1

3

私はIronPythonの観点からこれに答えていますが、Pythonfor.NETでも同様だと思います。

clr.AddReference呼び出しは、.NETアセンブリパスをsys.pathに追加するのと同じように考えることができ、ランタイムにそのことを通知しますが、それでも名前空間を現在のスコープにインポートする必要があります。

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

adapter = OneWireAccessProvider.getDefaultAdapter()
于 2012-06-18T14:49:45.320 に答える