4 votes

Utilisation de OWdotNET.dll dans pythonnet (python pour .NET)

J'ai un adaptateur USB vers un fil sur mon bureau, je voudrais automatiser son utilisation. Je l'utilise pour programmer des dallaskeys, qui sont des badges qui sont programmés et lus sur un fil.

Il existe une DLL gérée qui offre une API. J'adore python et j'aimerais donc utiliser cette DLL gérée par un tiers, "python for .NET", alias pythonnet.

Mon script se présente comme suit, et s'exécute sans problème :

import os
import clr
from clr import System

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

MAIS, je n'arrive pas à comprendre comment utiliser les classes de la bibliothèque. J'ai essayé clr.OWdotNET mais cela me donne une erreur d'attribut. J'ai essayé clr.AddReference("OWdotNET") également.

Liens :

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

http://pythonnet.github.io/

3voto

slide Points 742

Je réponds à cette question du point de vue d'IronPython, mais je pense que c'est similaire dans Python pour .NET.

L'appel clr.AddReference peut être considéré comme similaire à l'ajout du chemin d'accès de l'assemblage .NET à sys.path ; vous en informez le moteur d'exécution, mais vous devez encore importer l'espace de nom dans la portée actuelle.

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

adapter = OneWireAccessProvider.getDefaultAdapter()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X