2011-12-01 227 views
19

可能重複:
Why can't I handle a KeyboardInterrupt in python?Python - 停止無限循環的鍵盤命令?

我與一些Python代碼玩耍,創造了一個無限循環:

y = 0 
x = -4 

itersLeft = x 
while(itersLeft<0): 
    y = y + x 
    itersLeft = itersLeft - 1 
    print "y = ",y, "itersLeft = ", itersLeft 

print y 

是否有一個快捷鍵,讓我停止循環 - 讓我修復循環,然後重新啓動它?

我試了Ctrl + C並沒有任何運氣。如果有幫助,我正在使用Windows 7環境。

謝謝。

編輯


我應該還提到,我使用的Aptana Studio的3並嘗試運行內的按Ctrl +Ç命令。它在那裏不起作用 - 但在常規控制檯內試用它可以正常工作。我假設它必須是因爲Aptana環境。

+0

這應該做到這一點。你用什麼來運行它? –

+0

按下eclipseIDE上的紅色停止按鈕 – Serdalis

+0

看到您使用的是Aptana Studio 3,它是否至少3.03? http://jira.appcelerator.org/browse/APSTUD-1469當你使用任務管理器殺死它時發生了什麼?你嘗試過ctrl + z嗎? –

回答

25

Ctrl + C是你需要的。如果它不起作用,就更難打了。 :-)當然,你也可以關閉shell窗口。

編輯:你沒有提到的情況。作爲最後的手段,您可以編寫一個包含taskkill /im python.exe的批處理文件,並將其放到桌面,「開始」菜單等,並在需要殺死失控腳本時運行它。當然,它會殺死全部 Python進程,所以要小心。

+0

Thanks Kindall。我也應該提到我正在使用Aptana Studio 3並試圖在那裏使用Ctrl-C命令。它在常規終端窗口中正常工作,但不在Aptana內。我實際上必須重新啓動Aptana才能停止循環。 – PhillipKregg

+0

@Phillip:不知道Aptana,但大多數IDE的控制檯應用程序都有「Stop」或「Stop and Restart」按鈕。 – mpen

+0

好的,謝謝你的幫助 - 我只是希望鍵盤快捷鍵能在Aptana中工作。 – PhillipKregg