One way would be to use python's Queue module.
Set up a Queue.Queue instance at the top of the program, so that it is
visible to both threads. Alternatively create it in one thread and pass it
as a parameter to the other one.
When wx wants to communicate with the worker thread, it can 'put' something
onto the queue.
The worker thread can check if the queue is empty, and if not, 'get' the
item and deal with it.
HTH
Frank Millman