Вчера я задал вопрос о проблеме с программой, которую я пишу на Python ( Передача объектов wxPython в качестве многопроцессорных аргументов ).Мне удалось решить эту проблему, используя многопроцессорный процесс для функции, которая оценивает сценарии.Однако, поскольку сценарии запускаются из другого процесса, их вывод неправильно перенаправляется в мое окно wxPython TextCtrl.Итак, я ищу способ непрерывного перенаправления вывода из дочернего процесса в мой основной процесс, чтобы его можно было записать в мое текстовое окно.
Это функция, которая устанавливает процесс:
def createprocess(test):
q = Queue()
q.put(test)
p = Process(target=runtest, args=(q,))
p.start()
p.join()
return q.get()
Это целевая функция процесса:
def runtest(q):
test = q.get()
exec 'import ' + test
func=test+'.'+test+'()'
ret = eval(func)
q.put(ret)
Я нашел этот поток ( Как я могу отправить вывод многопроцессорного процесса Python в графический интерфейс Tkinter ), который описывает, какперенаправить вывод из дочернего процесса, но проблема заключалась в том, что вывод был получен после завершения оценки.