Python定时器
定时器,就是指定一个时间,到了此规定时间就开始执行事先定义的内容,很多语言都有定时器功能。
在Python中有多种方式可以实现定时器功能,下面列举了循环和递归方法的实现。
用while循环实现定时器
示例如下
import time
# 每n秒执行一次
def timer(n):
while True:
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))
time.sleep(n)
timer(2)
运行结果
C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t42.py
2021-02-23 11:53:35
2021-02-23 11:53:37
2021-02-23 11:53:39
...
也可以直接用时间控制
from datetime import datetime
t1=datetime.now()
# 每n秒执行一次
while True:
t2=datetime.now()
if (t2-t1).seconds>2:
t1=t2
print(t2)
运行结果
C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t42.py
2021-02-23 12:57:18.856145
2021-02-23 12:57:21.856465
2021-02-23 12:57:24.856750
...
用递归方法实现定时器
示例如下
from datetime import datetime
from threading import Timer
def print_time(sec):
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# sec:表示时间间隔
# (sec,):传递给执行函数的参数
t = Timer(sec, print_time, (sec,))
t.start()
print_time(2)
运行结果
C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t42.py
2021-02-23 13:01:47
2021-02-23 13:01:49
2021-02-23 13:01:51
...