python定时每个工作日

Python08

python定时每个工作日,第1张

1).window下是dir命令,linux是ls

我们用platform这个模块来判断一下操作系统,a.我们先获取当前的时间,假设当前时间是2017-02-09 20:19:47.555000

b.然后我们输入一个你要定时执行的target时间,比如你是x分10秒的时候执行sched_Timer=datetime.datetime(x,x,x,x,x,10),前面的x是并不重要(只要最后是10秒就行了),我们就把目标时间设的比当前晚一点即可:c.好当时间到了20:20:10的时候要运行我们的程序,如何定时到了呢,很简单用,d.那么如何让时间在下一分钟10秒继续执行呢,也很简单用timedelta()

datetime.timedelta(minutes=1)把target时间往后增加一分钟,然后外边用个while 死循环hold住就可以了。同样的这个代码也可以扩展,把minutes=1改成hours=1就变成了每个小时定时任务,改成days=1就变成每天的定时任务。

在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单。看示例:

一秒后输出 Hello Timer!

oneshot的定时器这样就可以实现。

如果要实现cycle的定时器,则可以:

1s后定时器启动后,将再次以5.5s为间隔周期性执行回调fun_timer函数

结果是:

在使用Python定时器时需要注意:

1.定时器构造函数主要有2个参数,第一个参数为时间,第二个参数为函数名,第一个参数表示多长时间后调用后面第二个参数指明的函数。第二个参数注意是函数对象,进行参数传递,用函数名(如fun_timer)表示该对象,不能写成函数执行语句fun_timer(),不然会报错。

2.定时器间隔单位是秒,可以是浮点数,如5.5,0.02等,在执行函数fun_timer内部和外部中给的值可以不同。如上例中第一次执行fun_timer是1秒后,后面的都是5.5秒后执行。

3.可以使用cancel停止定时器的工作