▷ Python实现定时器的几种方式(超详细)

⌹ 365提款成功但是不到账 ⏱️ 2025-09-12 21:45:44 👤 admin 👁️‍🗨️ 8413 ❤️ 440
Python实现定时器的几种方式(超详细)

✨前言:

在Python编程中,定时器是一种非常有用的工具,用于执行特定任务或函数,例如定时任务、轮询操作、定时检查等。Python提供了多种方式来创建和使用定时器,本文将介绍一些高级的定时器使用方式,包括使用threading模块、使用schedule库以及在异步编程中使用定时器。

👉1 使用time.sleep()结合循环

这是最基础的计时方法,通过让程序暂停一定时间来实现简单的定时任务。

#!/usr/bin/env python

# coding=utf-8

"""

# @Time : 2024/4/26

# @Author : Summer

# @File : test

# @describe:

"""

import time

def task():

print("任务执行中...")

interval = 5 # 间隔5秒

while True:

task()

time.sleep(interval)

👉2.使用threading.Timer

threading.Timer是Python标准库threading中的一个类,用于在指定时间后启动一个任务。它主要用于简单的延迟任务执行,适合于不需要复杂调度逻辑的场景。其使用相对简单,但在处理复杂的调度任务时可能会显得力不从心。 常用场景 延迟执行任务:在需要任务延迟一段时间执行时,如启动延迟、简单重试机制等。 单次定时任务:适合于只需要执行一次的定时任务。 常用方法 创建和启动定时器:

import threading

def my_task():

print("My Task Executing")

timer = threading.Timer(10, my_task) # 10秒后执行my_task

timer.start()

取消定时器: 如果定时器尚未执行,可以使用cancel()方法取消。

timer.cancel()

👉3 使用sched模块

sched模块是Python自带的一个事件调度模块,它提供了一个通用的方法来定时运行任务。

3.1 enter

enter(delay, priority, action, argument=(), kwargs={}) 这个方法用于调度一个事件。事件将会在指定的延迟时间delay后被执行。priority参数用于同一时间到达的两个事件进行排序:具有较小priority值的事件会被先执行。action参数则是当事件被执行时会调用的函数,argument是传递给action的参数组成的元组,kwargs是传递给action的关键字参数组成的字典。 调用enter方法会返回一个事件对象,这个对象可以用于后续取消该事件。

3.2 cancel(evt)

cancel(event) 此方法用于取消一个已经被安排的事件。要取消一个事件,你需要传递给cancel方法之前调用enter方法时返回的事件对象。一旦取消,该事件就不会执行。 如果尝试取消一个不存在或已经执行的事件,则会抛出一个ValueError异常。

3.3 empty

empty() 这

◈ 相关文章

‎胖虎云商
⌹ 365提款成功但是不到账

▷ ‎胖虎云商

⏱️ 08-11 👁️‍🗨️ 2119
快被遗忘的papi酱: 批量制造网红却只有她自己
⌹ 365提款成功但是不到账

▷ 快被遗忘的papi酱: 批量制造网红却只有她自己

⏱️ 08-02 👁️‍🗨️ 612
热门菜谱
⌹ 365bet现场滚球

▷ 热门菜谱

⏱️ 06-29 👁️‍🗨️ 4397