📅  最后修改于: 2023-12-03 15:09:26.565000             🧑  作者: Mango
Python 是一种流行的编程语言,常用于数据分析、机器学习、Web 开发等领域。它也是一种多用途的语言,可用于自动化任务。自动化任务包括定时执行脚本,从网站抓取数据,文件备份和清理等。
在 Python 中,我们可以使用第三方库来实现定时执行脚本。本文将介绍两种最常用的库:APScheduler 和 schedule。这两个库都是轻量级的库,易于使用和部署。
APScheduler 是一个 Python 库,它提供了一个简单的方法来执行定时任务。它的设计目标是允许使用不同的调度程序运行同一个任务,或者将同一个任务运行在不同的调度程序上。
以下是使用 APScheduler 的代码片段:
from apscheduler.schedulers.blocking import BlockingScheduler
scheduler = BlockingScheduler()
# 定时执行的函数
def job():
print("I'm working...")
# 添加定时任务
scheduler.add_job(job, 'interval', minutes=1)
# 运行调度程序
scheduler.start()
上面的代码块演示了定时调用 job()
函数,每隔一分钟运行一次。定时的周期可以是秒数、分钟数、小时数、天数和周数等。在使用 APScheduler 时,还可以指定调度程序的类型,包括 BlockingScheduler 和 BackgroundScheduler。BlockingScheduler 是默认的程序类型,它在应用程序主线程中运行。BackgroundScheduler 在后台线程中运行,不会阻塞应用程序的主线程。
schedule 是另一个 Python 库,它也提供了简单的方法来实现定时任务。相对于 APScheduler,schedule 更加易用。以下是使用 schedule 的代码片段:
import schedule
import time
# 定时执行的函数
def job():
print("I'm working...")
# 添加定时任务
schedule.every(1).minutes.do(job)
# 运行调度程序
while True:
schedule.run_pending()
time.sleep(1)
上述代码每隔一分钟运行一次 job()
函数。调度程序是一个无限循环,它可以在后台线程中运行,也可以在应用程序主线程中运行。
本文介绍了定时执行 Python 脚本的两个库:APScheduler 和 schedule。两个库都是轻量级的库,易于使用和部署。在使用这些库时,可以根据应用程序的需求选择最合适的库。如果需要更多功能,可以考虑使用 Celery 或 Redis 等库来管理定时任务。