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 :L'import renvoit une erreur : No module named WalkTo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #pose problème a=__import__(a+"."+a) self.currentAction = eval('%s()' % a)
En essayant cela :L'eval renvoit une erreur : WalkTo Name not found
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 a=__import__(a) #pose problème self.currentAction = eval('%s()' % a)
Si maintenant je remplace a=__import__(a) par from WalkTo import WalkTo
( autrement dit, un import non dynamique , tout marche impécablement ...
Qu'est ce qui cloque dans mes veines tentative d'importation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 from WalkTo import WalkTo self.currentAction = eval('%s()' % a) #tout baigne
Merci !![]()
Partager