1. 程式人生 > 其它 >python特定時間執行_Python Timer定時器:控制函式在特定時間執行

python特定時間執行_Python Timer定時器:控制函式在特定時間執行

技術標籤:python特定時間執行

Thread 類有一個 Timer子類,該子類可用於控制指定函式在特定時間內執行一次。例如如下程式:

from threading import Timerdef hello():    print("hello, world")# 指定10秒後執行hello函式t = Timer(10.0, hello)t.start()

上面程式使用 Timer 控制 10s 後執行 hello 函式。

需要說明的是,Timer 只能控制函式在指定時間內執行一次,如果要使用 Timer 控制函式多次重複執行,則需要再執行下一次排程。如果程式想取消 Timer 的排程,則可呼叫 Timer 物件的 cancel() 函式。例如,如下程式每 1s 輸出一次當前時間:

from threading import Timerimport time# 定義總共輸出幾次的計數器count = 0def print_time():    print("當前時間:%s" % time.ctime())    global t, count    count += 1    # 如果count小於10,開始下一次排程    if count < 10:        t = Timer(1, print_time)        t.start()# 指定1秒後執行print_time函式t = Timer(1, print_time)t.start()

上面程式開始執行後,程式控制 1s 後執行 print_time() 函式。print_time() 函式中的程式碼會進行判斷,如果 count 小於 10,程式再次使用 Timer 排程 1s 後執行 print_time() 函式,這樣就可以控制 print_time() 函式多次重複執行。

在上面程式中,由於只有當 count 小於 10 時才會使用 Timer 排程 1s 後執行 print_time() 函式,因此該函式只會重複執行 10 次。

5f4630d57cfa7ecf283d2685f7a8a12c.png