我对此进行了一些研究,发现了一些类似的问题,但没有一个回答我真正想要的。我了解如何通过multiprocessing
模块创建和使用流程。但是当我创建一个新进程时,我想生成一个新的控制台窗口,仅用于该进程的使用、打印等,这样子进程就不会共享父进程的控制台窗口。有没有办法用模块做到这一点multiprocessing
?
问问题
4097 次
1 回答
5
如果您要生成一个新的控制台窗口,那么您将启动一个新的 Windows 控制台进程以及在其中运行的新 python 进程。
因此,简短(且无益)的答案是multiprocessing
不会这样做,因为它只会产生 python 进程。
但是,我可以看到两种解决方法;
您使用
multiprocessing
并且每个过程都会创建一个Tkinter
显示您想要的文本的窗口。这个问题有一个将logging
输出发送到Tkinter
窗口的示例。我建议Tkinter
因为它已经与 python 一起提供,你可以使用PyQt
等wxWidgets
。您
subprocess
用来生成一个完全独立的新 python 进程(或控制台窗口 + 进程)。请注意,您将无法通过.join()
这种方式轻松地共享或共享线程状态。这个问题有一个如何创建新的python线程和窗口的例子。
于 2013-02-18T14:37:33.423 回答