Problème d'utilisation d'un import de module lorsque l'on utilise une interface graphique

exemple pour illustrer mes soucis:
soit 2 programmes, le programme principal : prg_A.py et le module: prg_B

prg_A importe le module prg_B et prg_B modifie une variable.
le soucis est que pour que cette modification soit pris en compte il faut fermer la fenêtre principale: f !!!

Quelqu'un a t'il une solution pour récupérer cette variable modifié sans fermer la fenêtre.
Quelque chose m'échappe !!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# -*- coding: cp1252 -*-
#prog_A.py: (sous C:/Python24)
#-----------
#programme A
import prg_B  #j'importe le module (prg_B.py sous C:/Python24)
 
def lance_prog_B():
    prg_B.fen2() #<<appel de la fonction fen2 du module prg_B
    variable_modif=prg_B.variable #<<--PB n'est éxécuté qu'a la fermeture de  
                                             #          la fenetre f  !!
    print "variable après modif dans  prog_B: ",variable_modif 
 
from Tkinter import *
f=Tk() #fenetre principale !!
bouton_lancement=Button(f,text="lance prog B",command=lance_prog_B).pack()
f.mainloop()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: cp1252 -*-
#prg_B.py :le module appelé par prg_A.py
from Tkinter import *
 
def fen2():
    print "programme b"
    global f2
    f2=Toplevel()
    b=Button(f2,text="modifions val de b",command=modif).pack()
    f2.mainloop()
 
def modif():
    global variable,f2
    variable=1
    f2.destroy()
**********************************************
A l'éxécution on a après avoir fermé toutes les fenêtres et hélas !! pas avant!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
>>> ================================ RESTART====
>>> 
programme b
variable après modif dans  prog_B:  1
>>>