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