import dynamique d'un script externe
Salutation !
Alors voila mon problème est simple, j'aimerai créer dynamiquement une instance d' une classe dont je connais seulement le nom.
Dans mon système, chaque classe est décrite dans un script python portant le même nom.
au niveau du code qui pose problème, la variable a contient le nom de la classe que j'aimerai instancé, et par extension, le nom du module à importer ( classe et module ayant le même nom.
En essayant ceci :
Code:
1 2 3 4 5
|
#pose problème
a=__import__(a+"."+a)
self.currentAction = eval('%s()' % a) |
L'import renvoit une erreur : No module named WalkTo
En essayant cela :
Code:
1 2 3 4 5 6
|
a=__import__(a)
#pose problème
self.currentAction = eval('%s()' % a) |
L'eval renvoit une erreur : WalkTo Name not found
Si maintenant je remplace a=__import__(a) par from WalkTo import WalkTo
( autrement dit, un import non dynamique , tout marche impécablement ...
Code:
1 2 3
| from WalkTo import WalkTo
self.currentAction = eval('%s()' % a)
#tout baigne |
Qu'est ce qui cloque dans mes veines tentative d'importation ?
Merci !:ccool: