Hi all,

I have a GUI applicaion(along with threads). When the run button is pressed in the GUI a separate thread starts( Thread is created using beginthreadex) and does the
required activity.
Now, while the thread is being executed, i want the locals() present inside the thread's run function to be avaialbe in the GUI class from where the thread class is being created
 
EG:
 
main.py
 
class WorkerThread(threading.Thread): 

    def __init__(self, ):
         threading.Thread.__init__(self) 
         # Start the thread and invoke the run method
         self.start()
            
    def run(self):
          # Start the thread. It executed self.func() as a separate thread 
          self.workerThread, tid = win32process.beginthreadex(None, 0 , self.func ,(), 1)
          .......

     def func(self):
           execfile(temp.py)
 
class GUI(wxFrame):
       def __init__(self):
           .....
           .....
       def  CreateThread(self):
 
             self.workerThread = WorkerThread()
  
 
if name == _main_:
        .....
.        ....
.        .....
 
temp.py
 
  i = 1
  j = 2
  k = 4
  while(10000):
        print i
        print j
        print k
        i = 1+1
        j = j+2
        k = k + 3
 
 
Now, while the thread is executin func and printing i, j, k , In the main GUI thread how do i get the values of i, j ,k
I tried with sys.modules, sys._current_frames, vars(). But nothing worked out.
 
Ideally the locals() of func() should be passed to the GUI thread, how?