Une bibliothèque qui vous permet d'appeler des DLL pour .NET à partir de Python. Il est sous licence MIT et tout le monde peut l'utiliser gratuitement. https://github.com/pythonnet/pythonnet
Cet article a été très utile pour savoir comment l'utiliser. Comment appeler .NET depuis Python et vice versa
Voici une brève introduction.
pip install pythonnet
Si vous souhaitez utiliser ABCLib.dll dans le même répertoire que test.py.
S'il se trouve dans un autre répertoire, ajoutez le chemin selon le cas. clr.AddReference ('./DEF/ABCLib')
etc.
test.py
import clr
clr.AddReference('ABCLib')
from ABCTools import ABCLib
abc = ABCLib()
clr
semble être une abréviation de Common Language Runtime.
Voici quelques points sur lesquels je suis tombé lors de l'utilisation du pythonnet et comment les cibler.
** Erreur: System.IO.FileNotFoundException: impossible de trouver l'assembly'ABCLib.dll '. ** J'obtiens cette erreur si j'écris l'extension ".dll "en faisant" clr.AddReference ". Supprimons le'.dll '.
#Exemple d'erreur
clr.AddReference('ABCLib.dll')
#Exemple où aucune erreur ne se produit
clr.AddReference('ABCLib')
** Erreur: System.IO.FileNotFoundException: impossible de trouver l'assembly'ABCLib '. ** Pour les DLL obtenues de l'extérieur, l'accès au fichier peut être bloqué. Essayez de configurer pour autoriser l'accès. Faites un clic droit sur le fichier dll → Propriétés → Général → Cochez "Autoriser" en bas → OK
** ERREUR: System.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly'ABCLib, Version = ~~~~~~~~, Culture = neutral, PublicKeyToken = null ', ou l'une de ses dépendances. Le fichier spécifié est introuvable. ** **
Il ne pouvait pas être lu si le bit de DLL et Python ne correspondait pas.
--Comment vérifier les bits Python
python
import sys
print(sys.version)
production
3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)]
--Comment vérifier le bit de DLL J'ai fait référence à cet article. Comment vérifier si EXE ou DLL est 32 bits ou 64 bits \ -Qiita
Recommended Posts