Python Schedule
最后修改:2025 年 2 月 15 日
在本文中,我们将展示如何在 Python 中使用 schedule 库。 schedule 库用于安排任务在特定时间间隔或时间运行。它特别适用于自动化重复性任务,例如发送电子邮件、生成报告或执行备份。
schedule 库易于使用,并提供了一个简单的 API 用于调度任务。
安装 Schedule 库
在使用 schedule 库之前,您需要使用 pip 安装它。
$ pip install schedule
调度一个任务
以下示例演示了如何调度一个任务每 10 秒运行一次。
main.py
import schedule
import time
def task():
print("Task is running...")
# Schedule the task to run every 10 seconds
schedule.every(10).seconds.do(task)
# Keep the script running
while True:
schedule.run_pending()
time.sleep(1)
在此程序中,schedule.every(10).seconds.do(task) 函数用于调度 task 函数每 10 秒运行一次。 schedule.run_pending() 函数检查是否有任何已调度的任务到期需要运行,并执行它们。
$ python main.py Task is running... Task is running... Task is running...
在特定时间调度任务
以下示例演示了如何调度一个任务每天在特定时间运行。
main.py
import schedule
import time
def task():
print("Task is running...")
# Schedule the task to run at 10:00 AM every day
schedule.every().day.at("10:00").do(task)
# Keep the script running
while True:
schedule.run_pending()
time.sleep(1)
在此程序中,schedule.every().day.at("10:00").do(task) 函数用于调度 task 函数每天上午 10:00 运行。
$ python main.py Task is running...
调度多个任务
以下示例演示了如何在不同的时间间隔调度多个任务。
main.py
import schedule
import time
def task1():
print("Task 1 is running...")
def task2():
print("Task 2 is running...")
# Schedule task1 to run every 5 seconds
schedule.every(5).seconds.do(task1)
# Schedule task2 to run every 10 seconds
schedule.every(10).seconds.do(task2)
# Keep the script running
while True:
schedule.run_pending()
time.sleep(1)
在此程序中,task1 被安排每 5 秒运行一次,task2 被安排每 10 秒运行一次。
$ python main.py Task 1 is running... Task 1 is running... Task 2 is running... Task 1 is running...
取消已调度的任务
以下示例演示了如何取消已调度的任务。
main.py
import schedule
import time
def task():
print("Task is running...")
# Schedule the task to run every 5 seconds
job = schedule.every(5).seconds.do(task)
# Keep the script running for 15 seconds
start_time = time.time()
while time.time() - start_time < 15:
schedule.run_pending()
time.sleep(1)
# Cancel the task
schedule.cancel_job(job)
print("Task canceled.")
在此程序中,schedule.cancel_job(job) 函数用于在 15 秒后取消已调度的任务。
$ python main.py Task is running... Task is running... Task is running... Task canceled.
来源
在本文中,我们展示了如何在 Python 中使用 schedule 库进行任务调度。 schedule 库是自动化重复性任务的强大工具。
作者
列出所有 Python 教程。