1. 程式人生 > 實用技巧 >python 定時器

python 定時器

方法1:

 1 from datetime import datetime
 2 import time
 3 
 4 def timer(n):
 5     """
 6     這個方法的缺點是,只能執行固定間隔時間的任務,如果有定時任務就無法完成,比如固定每天上午6點鐘執行,並且sleep是一個阻塞函式,也就是說sleep著段時間,什麼都不能做。      
 7     :param n:
 8     :return:
 9     """
10     while True:
11         print(datetime.now().strftime("%Y-%m-%d %H:%M:%S
")) 12 time.sleep(n) 13 14 timer(3)

方法2:

 1 import threading
 2 from datetime import datetime
 3 
 4 def printTime(n):
 5      print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
 6      # 第一個引數表示多長時間後呼叫後面第二個引數指明的函式。第二個引數注意是函式物件,進行引數傳遞,用函式名(如printTime)表示該物件,不能寫成函式執行語句printTime(),不然會報錯。可以用type查看出兩者的區別
7 t = threading.Timer(n, printTime, (n,)) 8 t.start() 9 10 #timer = threading.Timer(1, printTime) 11 #time.sleep(15) # 15秒後停止定時器 12 #timer.cancel() 13 14 15 printTime(2)