Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Programmation.python : Plugin en python

Posté par eMerzh (Jabber id, page perso, ) le 31 août 2006
Hello

voila j'essaye de trouver un moyen de charger dynamiquement différents fichiers se trouvant dans un répertoire précis.

ces fichiers représenterai des modules de mon programme.



je les ai tous fait hériter d'une classe Parent afin de définir l'interface.



mais j'arrive pas à le faire charger comme il faut.

j'ai pas mal googler, mais je m'en sort pas..

je tester avec le fichier __init__.py dans le répertoire des plugin ,



et avec la fonction __import__() mais jarrive pô...

kkun peu maider pliiize?



merci!

> Lire le message (2 commentaires, moyenne: 1).  

Vous avez demandé le commentaire #748947.

Un exemple

Posté par Pierre Tramo (page perso, ) le 31/08/2006 à 09:47. (lien). Évalué à 1.

Je ne sais pas si ça correspond vraiment à ton besoin, mais j'ai l'impression que c'est exactement ce que fait le système de plugins de pyCoinCoin.
Regarde dans l'archive http://pycoincoin.free.fr/download/pycc-0.8.7.tar.gz le fichier pyc2.py, il y a une fonction import_plugins qui charge tous les modules disponibles dans le répertoire plugins/
C'est dynamique, c'est à dire que tu peux recharger les plugins ou en importer de nouveaux (via l'appel à cette fonction) alors même que l'appli est en train de tourner.
Comme toi, j'ai une classe d'interface Plugin parente.

Pour référence
pyCoinCoin : http://chrisix.free.fr/pycoincoin/
wiki doc développeur (en cours de contruction) : http://pycoincoin.free.fr/wikini/
en particulier les plugins : http://pycoincoin.free.fr/wikini/wakka.php?wiki=ModulePlugin