的Win 7,64,Python 2.7版,蟒蛇4.2.0,5.1.0的IPythonIPython控制檯不顯示某些輸出,但顯示其他人?
我通過一些multiprocessing
教程&工作打了一個問題,馬上,而在IPython的控制檯工作。下面的代碼...
import multiprocessing
print 'hello'
def worker():
"""worker function"""
print 'Worker'
return
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
我期待......
hello
worker
worker
worker
worker
worker
但我正在逐漸..
hello
爲什麼從worker
函數的輸出不顯示在IPython控制檯中?
編輯:當從Anaconda命令行運行時,它在print 'Worker'
行上出現語法錯誤,但是如果我按住Enter鍵從Python控制檯運行,則按預期運行。編輯2:現在在Anaconda命令窗口中工作(我安裝了錯誤的Python)。這個問題似乎不僅限於此代碼。任何並行化函數中的任何打印語句都不會出現在IPython控制檯中。
順便說一句,SO需要2條換行符才能在新行上顯示文本。使用代碼格式來解決這個問題。 – Carcigenicate
我懷疑這一點,因爲在你給工人一個印刷機會之前,程序正在結束。 – Carcigenicate
您可以通過防止程序以某種方式結束測試,例如在開始作業後詢問用戶輸入。 – Carcigenicate