avatar

RWO.cc

读一次写一次

  • 首页
  • 搭建手册
  • 笔记
  • 短视频
  • 关于
  • 🌈200粉丝🌈
Home Python 定时执行函数
文章

Python 定时执行函数

Posted 2024-07-30 Updated 2024-07- 29
By RWO.
4~6 min read

Python中的定时执行函数。我们将会介绍如何使用time和sched模块来实现定时任务。让我们开始吧!

使用time.sleep实现简单定时

首先,让我们看看如何使用time.sleep函数实现简单的定时任务。

import time

def print_message():
    print("这是一个定时任务")

print("等待3秒...")
time.sleep(3)
print_message()

执行结果:

等待3秒...
这是一个定时任务

在这个例子中,time.sleep(3) 让程序暂停执行3秒,然后执行 print_message 函数。

使用sched模块实现定时任务

我们还可以使用sched模块来实现更复杂的定时任务。

import sched
import time

scheduler = sched.scheduler(time.time, time.sleep)

def print_message(name):
    print(f"这是{name}的定时任务")

print("等待3秒...")
scheduler.enter(3, 1, print_message, ("Task1",))
scheduler.run()

执行结果:

等待3秒...
这是Task1的定时任务

在这个例子中,我们使用sched模块创建一个调度器,并安排一个3秒后执行的任务。

重复执行定时任务

我们可以通过递归调用函数来实现重复执行的定时任务。

import threading

def print_message():
    print("这是一个每2秒执行一次的任务")
    threading.Timer(2, print_message).start()

print_message()

执行结果:

这是一个每2秒执行一次的任务
(每2秒重复输出)

在这个例子中,使用 threading.Timer 创建一个2秒后执行 print_message 函数的定时器,并在函数内部再次调用自己实现重复执行。

使用APScheduler实现高级定时任务

APScheduler是一个强大的定时任务调度库,支持更多高级功能。

from apscheduler.schedulers.background import BackgroundScheduler
import time

def print_message():
    print("这是一个每秒执行一次的任务")

scheduler = BackgroundScheduler()
scheduler.add_job(print_message, 'interval', seconds=1)
scheduler.start()

try:
    while True:
        time.sleep(2)
except (KeyboardInterrupt, SystemExit):
    scheduler.shutdown()

执行结果:

这是一个每秒执行一次的任务
(每秒重复输出)

在这个例子中,我们使用APScheduler创建一个后台调度器,安排每秒执行一次 print_message 函数,并在主线程中保持调度器运行。

总结

总结一下,Python中可以通过多种方式实现定时任务,包括使用 time.sleep、sched 模块、threading.Timer 和 APScheduler。根据具体需求选择合适的方式,可以让我们的定时任务更加灵活和强大。

短视频
每日一点 短视频 Python
License:  CC BY 4.0
Share

Further Reading

Nov 3, 2024

什么是 python 的闭包

在 Python 中,闭包(Closure)是一种函数对象,它不仅包含了函数的代码,还包含了函数创建时的环境变量。这意味着闭包可以“记住”其外部作用域中的变量,即使在外部作用域已经结束后,闭包仍然可以访问这些变量。 函数可以访问他被创建时所处的上下文环境,这被称为闭包。 闭包的基本特征 嵌套函数:闭

Nov 2, 2024

使用argparse模块解析命令行参数

在 Python 中,argparse 模块用于解析命令行参数,使得脚本可以更灵活地接受用户输入。以下是如何使用 argparse 模块解析命令行参数的详细介绍和示例。 基本用法 示例:简单的命令行参数解析 首先,创建一个简单的脚本来解析命令行参数。我们将创建一个脚本,该脚本接受两个整数并打印它们的

Nov 1, 2024

Python中的二维码生成与解析(花里胡哨)

如何使用 qrcode 库生成各种有趣的二维码,包括彩色二维码、带 Logo 的二维码和动态 GIF 二维码。下面,我们将逐步介绍这些功能。 Qrcode 库简介 qrcode 库是一个强大的 Python 工具,用于生成二维码。除了基本的二维码,它还支持自定义功能,如颜色变化、样式设计和动画效果。

OLDER

Python 自定义异常

NEWER

滚动文本项目(庆祝200粉丝)

Recently Updated

  • 什么是 python 的闭包
  • 使用argparse模块解析命令行参数
  • Python中的二维码生成与解析(花里胡哨)
  • Python中的二维码生成与解析(基础使用)
  • 使用platform模块获取系统信息

Trending Tags

学习 Git 工具 SQL docker-compose 每日一点 快捷键 Flink fastapi Windows

Contents

©2025 RWO.cc. Some rights reserved.

Using the Halo theme Chirpy