Bonjour,
Je travailles sur un deux modules distincts que j'essaye maintenant de les rejoindre. Mais je rencontre un petit problème avec execfile.

Pour information dans avant de les rejoindre j'utilisais execfile de cette manière:
execfile("monficher.py",globals(),locals())
Des variables étaient créent dans ce script et donc présente après donc globals().

Mais en mettant un execfile dans un script python dans une simple fonction def, que j’appelle depuis mon interface graphique (donc une classe). Alors là il ne trouve plus les variables créées dans le script appelé par execfile, j'ai vérifié en affichant globals et en effet je remarque leur absence.

Pour être sûr que vous comprenez par exemple:

Test.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
import script
 
script.fonction()
script.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
def fonction():
       execfile('subscript',globals(),locals())
       print toto
subscript.py
et j'obtiens donc à l’exécution de fonctionClass() un ErrorName global name 'toto' is not defined.

Je pense que c'est un problème de contexte, mais je reste bloqué.

Merci d'avance de votre aide.