Bonjour,


Je veux instancier une classe dont je ne connais pas le nom à l'avance. Il sera dans une String lors de l'execution du programme.

Idéalement, je voudrais avoir un fichier de config qui contient des noms de classes, par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
[maSection]
actions = monPackage.Classe1
action2 = Classe2
Et dans mon code, je voudrais pouvoir instancier ma classe selon ce paramètre. Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
action = ConfigReader.get(maSection, actions)
monInstance = [fonction/action/astuce](action)(paramInstance)
Je sais qu'il est possible d'instancier un module dynamiquement avec __import__, par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
monModule = __import__(actions)
Mais je n'ai pas réussi à instancier la classe sans faire de test sur son nom.

Une idée ?

Stéphane