je souhaiterai des éclaircissements sur les differentes manieres d'importer des modules.
Ma problematique est la suivante :
Je souhaite importer des modules, mais je ne connais ni leur nombre, ni leur nom, a l'avance. J'etais parti sur une methode qui ne me semble pas tres propre basee, sur du exec('import ...', mais j'ai decouvert entre temps __import__, qui me semble adapte a mes besoins. Je ne sais toutefois pas bien m'en servir.
D'un cote, j'ai le fichier moduleToImport1.py, qui fait partie des fichiers que je souhaiterai importer et manipuler a la volee. En voici le contenu :
D'un autre cote, j'ai le fichier qui appelle tous les modules de maniere dynamique :
for m in modules:
mod = __import__(m)
Jusqu'ici, ca marche. Cependant, je souhaiterai pouvoir avoir quelque chose du genre :
for m in modules:
mod = from k __import__(*)
reload(mod)
obj = mod.mod.tilte()('nom')
obj.method1()
obj.method2()
Deja, le from .. __import__, je peux oublier, ca me renvoie une syntax error ! Ensuite, mod renvoie quelque chose qui n'est pas mon module, du coup je peux difficilement appeler le contenu de mod etant donne que je ne connais pas son namespace. Enfin, comment puis-je appeler mod.classInMod() sans avoir recours a exec ou eval ?
Voila, toute explication la dessus sera la bienvenue, j'ai du mal a trouver des infos claires sur le sujet =[ N'hesitez pas a me faire savoir si ca manque de clarte, j'ai un peu de mal a expliquer ce probleme ! D'avance, merci
système -> Darwin
jeu d'instructions -> 64bit
distribution -> Darwin Kernel Version 13.4.0: Wed Mar 18 16:20:14 PDT 2015; root:xnu-2422.115.14~1/RELEASE_X86_64
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.