打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
让Python程序定时执行的8种方法整理

1. 使用time模块和sleep()

我们可以使用time模块的sleep()函数来让程序暂停一段时间,从而实现定时执行的效果。例如,我们可以使用以下代码让程序每30秒钟输出一次当前时间:

import time

while True:
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
    time.sleep(30)

这里的time.strftime()函数用于获取当前时间并将其格式化输出。

2. 使用sched模块

sched模块是Python标准库中的一个调度模块,它可以用于在指定的时间执行特定的任务。例如,以下代码可以让程序在指定的时间执行一些操作:

import sched
import time

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

def print_time():
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

scheduler.enterabs(time.mktime(time.strptime("2021-08-01 12:00:00", "%Y-%m-%d %H:%M:%S")), 1, print_time, ())
scheduler.run()

这里的scheduler.enterabs()函数用于在指定的时间执行指定的函数,time.mktime()函数用于将时间转换为秒数。

3. 使用APScheduler模块

APScheduler是一个Python中实现的轻量级定时任务调度库,它支持多种定时任务触发器,包括日期时间、固定时间间隔和Cron风格的定时器。例如,以下代码可以让程序每隔一分钟输出一次当前时间:

from apscheduler.schedulers.blocking import BlockingScheduler
import time

def print_time():
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

scheduler = BlockingScheduler()
scheduler.add_job(print_time, 'interval', minutes=1)
scheduler.start()

这里的scheduler.add_job()函数用于添加任务,并设置触发器为每隔一分钟执行一次。

4. 使用系统定时任务

在Unix和Linux系统上,我们可以使用crontab命令来设置定时任务。例如,以下命令可以让程序每隔一分钟输出一次当前时间:

* * * * * python /path/to/script.py

这里的 * * * 表示时间规则,意为每分钟都执行,后面的python /path/to/script.py表示要执行的脚本文件。

5. 使用Windows任务计划程序

在Windows系统上,我们可以使用任务计划程序来设置定时任务。例如,以下步骤可以让程序每隔一分钟输出一次当前时间:

  1. 打开“任务计划程序”;
  2. 点击“创建任务”;
  3. 在“触发器”选项卡中设置触发时间;
  4. 在“操作”选项卡中添加要执行的程序和参数。

6. 使用Celery分布式任务队列

Celery是一个Python中常用的分布式任务队列,它可以用于执行定时任务、异步任务、周期性任务等。例如,以下代码可以让Celery每隔一分钟执行一次指定的任务:

from celery import Celery
import time

app = Celery('tasks', broker='pyamqp://guest@localhost//')

@app.task
def print_time():
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

app.conf.beat_schedule = {
    'print_time': {
        'task': 'tasks.print_time',
        'schedule': 60.0
    }
}

app.conf.timezone = 'UTC'

这里的app.conf.beat_schedule字典用于设置任务,并设置触发器为每隔一分钟执行一次,app.conf.timezone用于设置时区。

7. 使用第三方库schedule

schedule是一个Python中的第三方库,它提供了简单的API用于执行定时任务。例如,以下代码可以让程序每隔一分钟输出一次当前时间:

import schedule
import time

def print_time():
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

schedule.every(1).minutes.do(print_time)

while True:
    schedule.run_pending()
    time.sleep(1)

这里的schedule.every()函数用于设置任务,并设置触发器为每隔一分钟执行一次。

8. 使用第三方库apscheduler

除了APScheduler,还有一种名为apscheduler的Python第三方库可以用于执行定时任务。例如,以下代码可以让程序每隔一分钟输出一次当前时间:

from apscheduler.schedulers.background import BackgroundScheduler
import time

def print_time():
    print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))

scheduler = BackgroundScheduler()
scheduler.add_job(print_time, 'interval', minutes=1)
scheduler.start()

while True:
    time.sleep(1)

这里的scheduler.add_job()函数用于设置任务,并设置触发器为每隔一分钟执行一次。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:让Python程序定时执行的8种方法整理 - Python技术站

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python实现定时任务的利器apscheduler
Python任务调度神器:APScheduler使用详解
定时任务 apscheduler
Python使用APScheduler实现定时任务
Python 实现定时任务的八种方案!
定时执行执行任务-APScheduler的全称是Advanced Python Scheduler。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服