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"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
 
#import foo2
__import__( 'foo2', globals(), locals(), [] )
print foo2.Essai()
2ème module nommé "foo2.py"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#!/usr/bin/python
# -*- coding: iso-8859-15 -*-
 
def Essai():
  return '***Essai***'
 
print 'Foo2.py chargé'
Alors, avec "import foo2" cela fonctionne, mais avec "__import__(..." cela ne fonctionne pas, alors que c'est censé être la même chose

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