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

让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技术站

(1)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python中字典dict常用操作方法实例总结

    标题 在markdown中使用#来表示标题的级别,比如一个#表示一级标题,两个#表示二级标题,以此类推。本文的标题可以使用如下格式: Python中字典(dict)常用操作方法实例总结 简介 在文章的开头简要介绍本文的主题和目的。比如,介绍本文要讲解的是Python中的字典(dict)的常用操作方法,以便读者能够更好地理解并应用。 字典的创建 在Python…

    python 2023年5月13日
    00
  • Python Spyder 调出缩进对齐线的操作

    要在使用Python Spyder时调出缩进对齐线,可以采取以下步骤: 打开Python Spyder软件并创建一个Python文件; 在创建的Python文件中输入代码,并选中该代码; 按下快捷键Ctrl + I,即可将选中的代码缩进对齐,同时出现缩进对齐线。 示例说明1:假设我在Python文件中编写以下代码,但未缩进对齐: if a > 0: b…

    python 2023年6月7日
    00
  • python中使用sys模板和logging模块获取行号和函数名的方法

    以下是关于Python中使用sys模块和logging模块获取行号和函数名的完整攻略: 使用sys模块获取行号和函数名的方法 sys模块是Python的一个标准库,可以获取关于Python解释器和其环境的信息。可以使用sys模块获取当前正在执行的代码的行号和函数名。示例代码如下: import sys def print_info(): print(&quo…

    python 2023年6月2日
    00
  • Python 5种常见字符串去除空格操作的方法

    Python 5种常见字符串去除空格操作的方法 在Python的字符串处理中,经常需要去除字符串前后的空格。此外,也可能需要去除字符串内部的空格或其他特定字符。本文将介绍5种常见的字符串去除空格操作方法,包括以下内容: 1.使用strip()方法去除前后空格2.使用lstrip()方法去除左侧空格3.使用rstrip()方法去除右侧空格4.使用replace…

    python 2023年6月5日
    00
  • Python的type函数结果你知道嘛

    当我们需要判断某个变量的数据类型时,可以使用Python的type()函数。type()函数可以接受一个参数作为输入,对这个参数的数据类型进行判断并返回结果。 下面是使用type()函数的基本语法: type(object) 其中,object参数代表要判断数据类型的对象,可以是任意Python对象。 接下来,我们通过两个示例来详细讲解type()函数的使用…

    python 2023年6月3日
    00
  • Python生成图文并茂的PDF报告的方法详解

    针对“Python生成图文并茂的PDF报告的方法详解”,我给出如下攻略: 1. 准备工作 在开始编程之前,我们还需要安装必要的Python库,包括: weasyprint:生成PDF文件所依赖的库,需要进行安装。 pandas:用于数据处理的Python库,也需要进行安装。 安装方式: pip install weasyprint pandas 2. 数据处…

    python 2023年5月18日
    00
  • 四个Python操作Excel的常用脚本分享

    下面是详细的讲解。 四个Python操作Excel的常用脚本分享 在Python中操作Excel文件可以方便地进行数据批量处理和分析。下面介绍四个常用的Python操作Excel的脚本。 1. 使用openpyxl库读取Excel文件 openpyxl是Python的一个专门用于读写Excel文件的第三方库,使用它可以读取Excel文件中的表格数据。 以下是…

    python 2023年5月13日
    00
  • python实现控制台打印的方法

    当我们在Python程序中输出信息时,有一种非常常见的方式是使用控制台打印(console printing)。 在Python中,我们可以使用内置函数print()来打印控制台上的文本和变量值。除了常规的文本,我们还可以通过使用字符串格式设置格式化(print formatting)来自定义打印输出。以下是Python中如何实现控制台打印的方法: 使用pr…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部