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)

 

posted @ 2020-08-10 15:01  小嘉欣  阅读(513)  评论(0编辑  收藏  举报