一秒后输出 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停止定时器的工作
a.我们先获取当前的时间now=datetime.datetime.now()
假设当前时间是2017-02-09 20:19:47.555000
b.然后我们输入一个你要定时执行的target时间
比如你是x分10秒的时候执行sched_Timer=datetime.datetime(x,x,x,x,x,10)
前面的x是并不重要(只要最后是10秒就行了),我们就把目标时间设的比当前晚一点即可:
sched_Timer=datetime.datetime(2017,2,9,20,20,10)
c.好当时间到了20:20:10的时候要运行我们的程序
如何定时到了呢,很简单用
if now==sched_Timer:
'run Task'
d.那么如何让时间在下一分钟10秒继续执行呢,也很简单用timedelta()
datetime.timedelta(minutes=1)把target时间往后增加一分钟
sched_Timer=sched_Timer+datetime.timedelta(minutes=1)
然后外边用个while 死循环hold住就可以了
首先,你得安装python的运行环境呗。。1. 默认的程序要设置,如果不会设置,就重新装一次python就行
2. 需要设置环境变量:例如你的程序为:C:\Python26,则你需要把这个地址粘贴在:右键我的电脑->属性->高级->环境变量,然后再下边的 系统变量 选择框中,双击path(大小写无所谓),在变量值的框中,添加: C:\Python26,记得在路径之前添加分号(),当然是英文输入法下的分号
3. 这一点很重要,因为执行的速度很快的时候,cmd窗口是不会自动pause的,所以会一闪而过。。如果只是print之类的语句,或许根本没有什么结果留下。。所以,这种还是选择用IDLE来运行吧。。。