2013-02-18 76 views
2

我已經做了一些這方面的研究,發現有些類似的問題,但沒有回答我真正尋找的。我瞭解如何使用multiprocessing模塊創建和使用流程。但是,當我創建一個新進程時,我想生成一個新的控制檯窗口,以便使用該進程,進行打印等,以便子進程不共享父進程的控制檯窗口。 multiprocessing模塊有沒有辦法做到這一點?Python的多模塊,Windows中,產生新的控制檯窗口,創建一個新的進程

+0

我不知道該怎麼做。我很好奇,爲什麼你需要一個新的控制檯窗口的子進程。對於多處理模塊來說,看起來很奇怪。 – 2013-02-18 14:27:07

回答

3

如果你要生成一個新的控制檯窗口,然後你開始一個新的Windows控制檯進程以及裏面運行新的Python程序。

所以短期(和無益的)答案會是multiprocessing不會做這個,因爲它只是派生的Python程序。

不過,我可以看到周圍這兩種方式;

  • 您使用multiprocessing,每個進程創建一個Tkinter窗口中顯示你想要的文字。 This問題有用於發送logging輸出到Tkinter窗口的例子。我建議Tkinter因爲它已經與Python,你可以使用PyQtwxWidgets

  • 您使用subprocess產卵一個完全獨立的和新的Python程序(或控制檯窗口+的過程)。請注意,您將無法以這種方式輕鬆地共享線程狀態.join()This問題有一個如何創建一個新的python線程和窗口的例子。

+1

好的,謝謝!非常簡潔。我想我會使用GUI解決方案,因爲我的應用程序需要子進程來輕鬆共享數據。 – Ray 2013-02-18 15:02:23

相關問題