📜  定时执行的 python 脚本 - Python (1)

📅  最后修改于: 2023-12-03 15:09:26.565000             🧑  作者: Mango

定时执行的 Python 脚本

Python 是一种流行的编程语言,常用于数据分析、机器学习、Web 开发等领域。它也是一种多用途的语言,可用于自动化任务。自动化任务包括定时执行脚本,从网站抓取数据,文件备份和清理等。

在 Python 中,我们可以使用第三方库来实现定时执行脚本。本文将介绍两种最常用的库:APScheduler 和 schedule。这两个库都是轻量级的库,易于使用和部署。

APScheduler

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

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 等库来管理定时任务。