Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python每天定时9点执行_python定时执行方法

python每天定时9点执行_python定时执行方法

作者头像
全栈程序员站长
发布于 2022-09-09 07:01:27
发布于 2022-09-09 07:01:27
2.9K0
举报

大家好,又见面了,我是你们的朋友全栈君。

1 time.sleep

import time

for i in range(5):

print(i)

time.sleep(10)

2 用shed

import time

import sched

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

def func(string1,float1):

print(“now is”,time.time(),” | output=”,string1,float1)

print(time.time())

schedule.enter(2,0,func,(“test1”,time.time()))

schedule.enter(2,0,func,(“test1”,time.time()))

schedule.enter(3,0,func,(“test1”,time.time()))

schedule.enter(4,0,func,(“test1”,time.time()))

schedule.run()

print(time.time())

其中func中放要执行的函数,用schedule.enter加入要执行的函数,里面的第一个参数是延迟执行的时间,用sched.scheduler进行初始化

1512033155.9311035

now is 1512033157.9316308 | output= test1 1512033155.9311035

now is 1512033157.9316308 | output= test1 1512033155.9311035

now is 1512033158.9322016 | output= test1 1512033155.9311035

now is 1512033159.9316351 | output= test1 1512033155.9311035

1512033159.9316351

[Finished in 4.2s]

上面是执行结果,缺点是任务队列是阻塞型,即schedule里的任务不执行完,后面的主线程就不会执行

3 用threading里的timer,实现非阻塞型,即主线程要任务同时执行

import time

from threading import Timer

def print_time( enter_time ):

print “now is”, time.time() , “enter_the_box_time is”, enter_time

print time.time()

Timer(5, print_time, ( time.time(), )).start()

Timer(10, print_time, ( time.time(), )).start()

print time.time()

执行结果:

1512034286.9443169

1512034286.9452875

now is 1512034291.9460146 enter_the_box_time is 1512034286.9443169

now is 1512034296.9461012 enter_the_box_time is 1512034286.9452875

[Finished in 10.2s]

可看出任务和主线程是同步执行,但是后3位又稍有不同,应该是python的多线程并非真正的多线程导致

每天某个时间定时执行任务:

import datetime

import time

def doSth():

print(‘test’)

# 假装做这件事情需要一分钟

time.sleep(60)

def main(h=0, m=0):

”’h表示设定的小时,m为设定的分钟”’

while True:

# 判断是否达到设定时间,例如0:00

while True:

now = datetime.datetime.now()

# 到达设定时间,结束内循环

if now.hour==h and now.minute==m:

break

# 不到时间就等20秒之后再次检测

time.sleep(20)

# 做正事,一天做一次

doSth()

main()

4 linux用 crontab

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python标准库笔记(5) — sched模块
目录[-] 事件调度 sched模块内容很简单,只定义了一个类。它用来最为一个通用的事件调度模块。 class sched.scheduler(timefunc, delayfunc)这个类定义了调度事件的通用接口,它需要外部传入两个参数,timefunc是一个没有参数的返回时间类型数字的函数(常用使用的如time模块里面的time),delayfunc应该是一个需要一个参数来调用、与timefunc的输出兼容、并且作用为延迟多个时间单位的函数(常用的如time模块的sleep)。 下面是一个列子: i
jhao104
2018/03/20
6990
Python3优雅操作-时间处理与定时任务
无论哪种编程语言,时间肯定都是非常重要的部分,今天来看一下python如何来处理时间和python定时任务
一墨编程学习
2018/12/24
8040
Python-延时操作
在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果。此时,我们就需要某种机制,使一个函数延后执行。接下来简单介绍一下两种实现此类效果的方法:
py3study
2020/01/08
1.4K0
Python 三程三器的那些事
    1.定义:把一个函数名当做实参传给另一个函数     2.返回值中包含函数名     3.下面使用高阶函数虽然可以实现装饰器的一些功能,但是违反了装饰器不能改变调用方式的原则,      以前使用bar()现在将调用方式改编成了test1(bar)就是将bar的函数名当做变量传给了test1()
IT茂茂
2020/03/19
9680
怎么把Python当偷懒神器用?
在日常工作中,我们常常会用到需要周期性执行的任务,一种方式是采用 Linux 系统自带的 crond[1] 结合命令行实现。另外一种方式是直接使用 Python。接下里整理的是常见的 Python 定时任务的实现方式。
程序员皮克
2021/12/17
5700
怎么把Python当偷懒神器用?
Python利用多线程定时执行cmd命令关机
利用os模块可以执行cmd命令,利用这一点可以实现定时关机,然而在等待关机的过程中也不能啥都不干,于是多线程派上了用场。
艳艳代码杂货店
2021/11/01
1.2K0
python定时执行函数_python定时执行详解「建议收藏」
1. sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。
全栈程序员站长
2022/09/30
2.5K0
Python任务调度之sched
这次我们主要讲解下Python自带模块当中的sched,不但小巧,也很强大,在实际应用中,某些场合还是可以用到的。作为一名Linux的SA,我们已经习惯了用crontab,而sched提供了一种延迟处理机制,也可以理解为任务调度的另一种方式的实现。
py3study
2020/01/07
1.6K0
Python定时任务(上)
在项目中,我们可能遇到有定时任务的需求。其一:定时执行任务。例如每天早上 8 点定时推送早报。其二:每隔一个时间段就执行任务。比如:每隔一个小时提醒自己起来走动走动,避免长时间坐着。今天,我跟大家分享下 Python 定时任务的实现方法。
猴哥yuri
2018/08/16
1.7K0
一日一技:Python自带的优先级调度器
Python 自带一个调度器模块 sched,它能为你实现优先级队列/延迟队列和定时队列。
青南
2019/07/23
7660
一日一技:Python自带的优先级调度器
一文读懂Python多线程
1、线程和进程 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工。背后的含义就
石晓文
2018/04/11
1.3K0
一文读懂Python多线程
搞定python多线程和多进程
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。
Dar_Alpha
2018/10/09
5740
Python爬虫定时计划任务的几种常见方法
记得以前的Windows任务定时是可以正常使用的,今天试了下,发现不能正常使用了,任务计划总是挂起。接下来记录下Python爬虫定时任务的几种解决方法。
Python进阶者
2021/03/11
1.8K0
Python爬虫定时计划任务的几种常见方法
python高级线程编程-定时器和周期任务(二)
Python标准库中的sched模块提供了一个基于时间的事件调度程序,可以用来实现定时器和周期任务。
玖叁叁
2023/04/20
3250
Python 实现定时任务的八种方案!
来源:https://www.biaodianfu.com/python-schedule.html
Python编程与实战
2021/10/12
34.5K0
python多线程详解
②每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
全栈程序员站长
2022/09/06
1.6K0
python多线程详解
Python-定时器使用
通过crontab -e命令,添加定时器任务。定期执行python的脚本。如果-e后面是多条命名,可以用分号”;”进行分割。用分号 (;) 所分割的话,那么命令会连续的执行下去。如果每个命令被 && 号分隔,那么这些命令会一直执行下去,如果中间有错误的命令存在,则不再执行后面的命令,没错则执行到完为止。如果每个命令被双竖线(||)分隔符分隔,如果命令遇到可以成功执行的命令,那么命令停止执行,即使后面还有正确的命令则后面的所有命令都将得不到执行。假如命令一开始就执行失败,那么就会执行 || 后的下一个命令,直到遇到有可以成功执行的命令为止,假如所有的都失败,则所有这些失败的命令都会被尝试执行一次。
py3study
2020/01/06
1.2K0
python定时执行--每天
以下代码实现了python的每天定时执行: import datetime import time import pymysql def doSth(): # print('test') conn = pymysql.Connect( host='192.0.9.169', port=5507, user='writer', passwd='Apsdf', db='api_data', cha
py3study
2020/01/03
3.5K0
Python 定时任务的实现方式
目前所在的项目组需要经常执行一些定时任务,之前都是用 Node.JS 的 cron来实现 schedule job。可是这次需要连接不同的 DB,而且实现的逻辑也有些许不同,于是选择使用 Python 的定时器。
李振
2021/11/26
1.6K0
Python 定时任务的实现方式
Python用sched执行周期性任务
#coding=utf-8 import time,sched,os 周期性执行给定的任务 初始化sched模块的scheduler类 第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。 s = sched.scheduler(time.time,time.sleep) 被周期性调度触发的函数 def event_func(): print "Current Time:",time.time() enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定
用户7705674
2021/11/01
3620
相关推荐
Python标准库笔记(5) — sched模块
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档