Python基础教程

004_Python定时器

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
...
这篇文章对您有用吗?

我们要如何帮助您?