Hello à toutes et tous,
Un appel à __Import__( <nom du module>, global(), local(), [] ) et censé être indentique à import <nom du module> d'après le "mode d'emploi" trouvé sur http://quentel.pierre.free.fr/python...-in-funcs.html et bien d'autres sites d'ailleurs
En remplaçant global/local() par globals/locals() c'est déjà mieux, mais cela ne fonctionne toujours pas!
Exemple de code qui devrait fonctionner et qui ne fonctionne pas:
1er module, nommé "foo.py"
2ème module nommé "foo2.py"Code:
1
2
3
4
5
6 #!/usr/bin/python # -*- coding: iso-8859-15 -*- #import foo2 __import__( 'foo2', globals(), locals(), [] ) print foo2.Essai()
Alors, avec "import foo2" cela fonctionne, mais avec "__import__(..." cela ne fonctionne pas, alors que c'est censé être la même chose:evilred:Code:
1
2
3
4
5
6
7 #!/usr/bin/python # -*- coding: iso-8859-15 -*- def Essai(): return '***Essai***' print 'Foo2.py chargé'
En remplaçant la ligne __import__( ... par __import__( 'foo2' ) cela ne change rien, aucune erreur à l'exécution, sauf bien sûr sur la ligne "print foo2.Essai() "
J'ai bien sûr le besoin de pouvoir charger des modules dynamiquements!
Ou est mon erreur?
Des solutions?
Merci à tous