2013-04-20 48 views
1
import multiprocessing 

def simple(): 
    print 'simple!' 

p0 = multiprocessing.Process(target=simple) 
p0.start() 

這顯然沒有做任何事情。 AFAIK它應該打印「簡單!」。 我在交互式控制檯中寫下所有這些代碼。multiprocessing.Process - 爲什麼.start()方法在IDLE控制檯中不起作用?

[編輯]其他進程可否連接到此終端?如果是這樣,我可以做些什麼來連接到同一個終端?

+0

'simple'應該可以從源文件導入。您需要將'p0 = ...'和下一行放在'if __name__ =='__main __''塊中以防止Python進入無限循環。 – Blender 2013-04-20 20:46:35

+0

我真的設法通過導入模塊來完成這項工作。問題是關於控制檯。它在那裏,這沒有做任何事情。 – 2013-04-20 20:49:04

回答

3

IDLE以各種奇怪的方式重定向標準輸出和輸入。因此,在IDLE中不工作的情況並不少見。我只是試過你的代碼,它在SL4A中運行良好。嘗試在IDLE之外運行它。我可以說這可能會起作用。底線:這只是IDLE做事的方式。抱歉!嘗試另一個IDE,如PyScripter或Komodo Edit。

+0

好吧,我的問題是無論如何都不會讓代碼在IDLE中工作,我只是在這裏測試快速代碼以在eclipse中編寫代碼。這讓我擔心我的代碼中有一個錯誤導致了問題。 Thx的答覆。 – 2013-04-20 20:57:28

+0

@ vlad-ardelean:不客氣!你總是可以使用默認的Python shell。祝你好運! – refi64 2013-04-20 21:04:18

+0

在默認的shell中,這會引發'AttributeError'。 「模塊'對象'沒有屬性'簡單'」。 – 2013-04-21 12:13:34

相關問題