2017-05-02 87 views
0

我希望在python中實現定時器,但是找不到任何有用的文章。 我的主要目的是實現以下邏輯:如何在Python中實現定時器

`timer -> 60 seconds to zero 
    #do stuff 
    if the user selects to manually reset the timer -> start the time loop again 
    if user exits -> exit the time loop 
reset the timer and again do above steps` 

正在尋找物品/執行上述邏輯語法的信息。

+1

什麼你在工作環境?用戶是否通過終端,GUI或瀏覽器與您的程序進行交互? – tiwo

+0

類似:http://stackoverflow.com/questions/10154568/postpone-code-for-later-execution-in-python-like-settimeout-in-javascript – tiwo

+0

使用'time.tme()'? –

回答

0

把它放在你的/ usr/bin中/秒錶,並給予適當的權限(使用chmod + X腳本)

eg: sudo chmod +x /usr/bin/stopwatch 

下面是代碼

#!/usr/bin/python 

from __future__ import print_function 

import sys 
import time 


if len(sys.argv) != 2: 
    print("Needs seconds as argument, Eg: stopwatch 10") 
else: 
    seconds = sys.argv[1] 
    for i in range(int(seconds), 0, -1): 
     print(str(" "*50), end='\r') 
     print(str(i), end='\r') 
     sys.stdout.flush() 
     time.sleep(1) 
    print("Time over {}".format(seconds)) 

使用

stopwatch 10 
0

通常在多線程環境中開發定時器,我使用stopit軟件包。 您可以定義一個計時器 - >創建一個函數,在用戶按取消按鈕 - >捕捉超時異常以重新啓動計時器時,在計時器上調用.cancel()。