這篇文章將為大家詳細講解有關Python 利用Timer定時器控制函數在特定時間執行,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Thread類有一個Timer子類,該子類可用于控制指定函數在特定時間內執行一次。例如如下程序:
from threading import Timer
def 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 Timer
import time
# 定義總共輸出幾次的計數器
count = 0
def 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 次。
關于Python 利用Timer定時器控制函數在特定時間執行就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。