2012-06-05 64 views
1

我有一個測試腳本,睡眠時間爲1秒到180秒之間的隨機數量。測試程序將掛起超過3分鐘。Python的time.sleep()掛起

所以我改變了代碼,讓它睡了60秒(1分鐘)並運行腳本。 20小時後(!!!),代碼仍然掛在time.sleep()上。

的代碼是

downtime = 60 
time.sleep(downtime) 

爲什麼Python的永遠掛在time.sleep(60)?

+0

這是整個劇本嗎?如果沒有,你可以在這裏發佈嗎? –

+0

睡眠結束後會發生什麼? (即,你怎麼知道睡眠很久以前還沒有完成?) – heltonbiker

+3

可能是因爲'downTime'被設置爲一個很大的數字。 –

回答

3

即使time.sleep()被允許暫停您的線索的時間間隔比您要求的更短或更長,但time.sleep(60)將不會暫停您的線索20小時。

我可以看到幾種可能的解釋:

  1. 要調用time.sleep()多次(例如,在環)。
  2. 你打電話給time.sleep()的參數遠遠高於60(注意你在代碼中拼寫downtime/downTime的兩種不同方式)。
  3. 該問題與time.sleep()無關。
4

可以使用2個不同的變量停機停機。可能是downTime大於60

+0

不,我在我的代碼中犯了一個錯字。兩者都使用「downTime」 – SQA777