当你需要在 Python 中定期执行任务时,schedule
库是一个非常实用的工具。它可以帮助你自动化定时任务。以下是一些使用示例:
-
基本使用:
import schedule import time def job(): print("I'm working...") schedule.every(10).minutes.do(job) while True: schedule.run_pending() time.sleep(1)
上面的代码表示每隔 10 分钟执行一次
job
函数,非常简单方便。 -
更多调度任务例子:
import schedule import time def job(): print("I'm working...") # 每十分钟执行任务 schedule.every(10).minutes.do(job) # 每个小时执行任务 schedule.every().hour.do(job) # 每天的10:30执行任务 schedule.every().day.at("10:30").do(job) # 每个月执行任务 schedule.every().monday.do(job) # 每个星期三的13:15分执行任务 schedule.every().wednesday.at("13:15").do(job) # 每分钟的第17秒执行任务 schedule.every().minute.at(":17").do(job) while True: schedule.run_pending() time.sleep(1)
-
只运行一次任务:
import schedule import time def job_that_executes_once(): # 此处编写的任务只会执行一次... return schedule.CancelJob schedule.every().day.at('22:30').do(job_that_executes_once) while True: schedule.run_pending() time.sleep(1)
-
参数传递给作业:
import schedule def greet(name): print('Hello', name) # 将额外的参数传递给 job 函数 schedule.every(2).seconds.do(greet, name='Alice') schedule.every(4).seconds.do(greet, name='Bob')
-
获取目前所有的作业:
all_jobs = schedule.get_jobs()
-
取消所有作业:
schedule.clear()
-
标签功能:
# 打标签 schedule.every().day.do(greet, 'Andrea').tag('daily-tasks', 'friend') schedule.every().hour.do(greet, 'John').tag('hourly-tasks', 'friend') # 获取所有该标签的任务 friends = schedule.get_jobs('friend') # 取消所有 daily-tasks 标签的任务 schedule.clear('daily-tasks')
-
设定作业截止时间:文章来源:https://www.toymoban.com/news/detail-831894.html
from datetime import datetime, timedelta, time def job(): print('Boo') # 每个小时运行作业,18:30后停止 schedule.every(1).hours.until("18:30").do(job) # 其他截止时间设置...
[这些示例涵盖了从秒到月的不同配置,你可以根据需求选择合适的定时任务方式。文章来源地址https://www.toymoban.com/news/detail-831894.html
到了这里,关于python自动定时任务schedule库的使用方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!