У меня есть 2 файла «console.py» и «gui .py». Я пытаюсь запустить приложение GUI, расположенное в «gui .py», из «console.py» в другом процессе и распечатать переменную «a» из файла console.py (который постоянно обновляется) в приложении GUI. Другими словами, я пытаюсь использовать переменные в двух файлах в двух разных процессах. Я просмотрел документацию по многопроцессорной обработке, расположенную здесь https://docs.python.org/2/library/multiprocessing.html, но я не знаю, как это сделать практически. Любая помощь приветствуется! Спасибо!
console.py:
import multiprocessing
from time import sleep
import random
import gui
a = []
word = input(">>")
if "plot" in word:
multiprocessing.Process(target=gui.runPlot).start()
while True:
a.append(random.randint(0,10))
sleep(1)
gui .py:
import wx
class MyFrame(wx.Frame):
def __init__(self):
super().__init__(parent=None, title='Hello World')
self.Show()
self.redraw_timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.on_redraw_timer, self.redraw_timer)
self.redraw_timer.Start(100)
def on_redraw_timer(self, event):
#here I want to print the "a" variable from console.py
print(console.a)
def runPlot():
app = wx.App()
frame = MyFrame()
app.MainLoop()