import urllib2
import webbrowser
import time
import sys
URL = "http://nonexisting"
while True:
try:
website = urllib2.urlopen(URL, timeout=1)
if website:
webbrowser.open_new(URL)
break
except KeyboardInterrupt:
break
except:
sys.stdout.write('.')
time.sleep(1)
我希望這個代碼寫出來點每秒,而是什麼也沒發生,當我按CTRL- ç我得到這樣的輸出:沒有在Python標準輸出出現...除了:塊
^C..........Traceback (most recent call last):
File "stackoverflow_question.py", line 21, in <module>
time.sleep(1)
KeyboardInterrupt
所以每個點中斷後出現。這是爲什麼 ?我怎樣才能達到預期的結果? 我用print
語句嘗試了相同的結果。在OS X和Linux上也是如此。
此外,這段代碼將花費大部分時間在'time.sleep'中。在那段時間內,'KeyboardInterrupt'不會被捕獲。 – mgilson
確實!但是程序無論如何都是中斷的:D那麼我怎樣才能抓住它並妥善處理呢? – kissgyorgy
@Walkman:將這一刻帶入嘗試。要獲得更完整的答案,請提出一個新問題。 – SingleNegationElimination