python定时执行函数_python定时执行详解「建议收藏」

python定时执行函数_python定时执行详解「建议收藏」知识点1.sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。(1)生成调度器:s=sched.scheduler(time.time,time.sleep)第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。可以说sched模块设计者是“在下很大的一盘棋”,比如第一个函数可以是自定义的一个函数,不一定是时间戳,第二个也可以…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

知识点

1. sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。

(1)生成调度器:

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

第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。可以说sched模块设计者是“在下很大的一盘棋”,比如第一个函数可以是自定义的一个函数,不一定是时间戳,第二个也可以是阻塞socket等。

(2)加入调度事件

其实有enter、enterabs等等,我们以enter为例子。

s.enter(x1,x2,x3,x4)

四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,给他的参数(注意:一定要以tuple给如,如果只有一个参数就(xx,))

(3)运行

s.run()

注意sched模块不是循环的,一次调度被执行后就Over了,如果想再执行,请再次enter

2. time模块,它是python自带的模块,主要用于时间的格式转换和处理。

time.sleep(s)

推迟调用线程的运行,s指秒数

3. os模块也是python自带的模块,os模块中的system()函数可以方便地运行其他程序或者脚本。

os.system(cmd)

cmd 为要执行的命令,近似于Windows下cmd窗口中输入的命令。

下面我们来看具体实例:

1.定时任务代码

#定时执行任务命令

importtime,os,sched

schedule=sched.scheduler(time.time,time.sleep)defperform_command(cmd,inc):

os.system(cmd)print(‘task’)def timming_exe(cmd,inc=60):

schedule.enter(inc,0,perform_command,(cmd,inc))

schedule.run()print(‘show time after 2 seconds:’)

timming_exe(‘echo %time%’,2)

2.周期性执行任务

importtime,os,sched

schedule=sched.scheduler(time.time,time.sleep)defperform_command(cmd,inc):#在inc秒后再次运行自己,即周期运行

schedule.enter(inc, 0, perform_command, (cmd, inc))

os.system(cmd)def timming_exe(cmd,inc=60):

schedule.enter(inc,0,perform_command,(cmd,inc))

schedule.run()#持续运行,直到计划时间队列变成空为止

print(‘show time after 2 seconds:’)

timming_exe(‘echo %time%’,2)

3.循环执行命令

importtime,osdef re_exe(cmd,inc = 60):whileTrue:

os.system(cmd)

time.sleep(inc)

re_exe(“echo %time%”,5)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194263.html原文链接:https://javaforall.net

(0)
上一篇 2025年11月9日 上午11:43
下一篇 2025年11月9日 下午12:15


相关推荐

  • oracle数据库菜鸟入门

    oracle数据库菜鸟入门所有应用软件之中,数据库可能是最复杂的。MySQL的手册有3000多页,PostgreSQL的手册有2000多页,Oracle的手册更是比它们相加还要厚。但是,自己写一个最简单的数据库,做起来并不难。Reddit上面有一个帖子,只用了几百个字,就把原理讲清楚了。下面是我根据这个帖子整理的内容。一、数据以文本形式保存第一步,就是将所要保存的数据,写入文本文件。这个文本文件就是你的数据库。为了方便读取,数据必须分成记录,每一条记录的长度规定为等长。比如,假定每条记录的长度是800字节,那

    2022年8月30日
    5
  • ERNIE 4.5 模型系列正式开源

    ERNIE 4.5 模型系列正式开源

    2026年3月12日
    3
  • 编写socket套接字的步骤_windows7任务栏组成部分

    编写socket套接字的步骤_windows7任务栏组成部分详细内容请见书Windows程序设计珍藏版1081页或请见文章:https://www.jianshu.com/p/066d99da7cbd

    2022年8月18日
    8
  • Flake8_quakemaker

    Flake8_quakemakerFlake8简介转载自:http://www.malike.net.cn/blog/2013/10/23/flake8-tutorial/| COMMENTSFlake8包装了下列工具:PyFlakes:静态检查Python代码逻辑错误的工具。pep8:静态检查PEP8编码风格的工具。NedBatchelder’sMcCabescript:静态

    2025年11月10日
    4
  • 拦截器与过滤器的区别

    拦截器与过滤器的区别文章目录一、二者理解过滤器(Filter)拦截器(Interceptor)二、拦截器与过滤器的区别区别:三、拦截器与过滤器的触发时机拦截器与过滤器触发时机不一样四、使用场景五、图解一、二者理解过滤器(Filter)过滤器,是在javaweb中将你传入的request、response提前过滤掉一些信息,或者提前设置一些参数。然后再传入Servlet或Struts2的action进行业务逻…

    2022年7月17日
    18
  • Flyway入门_flyrouter

    Flyway入门_flyrouter1.为什么要用flyway?在真实的项目开发中,我们每个人都会有一个应用软件和与其相联系的数据库。对于个人开发来说,这样就够了。但是,项目开发一般都不止一个人,因此一定会出现我在我的本地有一套软件和相应的数据库系统,我的另一个同事会在他的本地有一套他自己的软件和相应的数据库系统。我们需要面临的第一个问题就是我们两个人如何集成我们的数据库系统,之后还要处理如何将数据库系统迁移到测试环境和生产环境当…

    2025年7月26日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号