如何定时执行
十余年的黄梅网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整黄梅建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“黄梅网站设计”,“黄梅网站推广”以来,每个客户项目都认真落实执行。
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住就可以了
#加了上面这段while运行时窗体不显示只是后台在截图,这是为什么,要怎么处理?
wx这种GUI框架都是基于事件的。事件包括窗体绘图,窗体刷新,鼠标按钮点击等。这些事件是在 app.MainLoop() 里面进行捕获和处理的。你的程序没有执行到 MainLoop() GUI就不能正常工作。
解决办法:
使用一个单独的进程或线程做截图,不要阻塞主进程。
使用Timer之类的GUI控件,然后定义相应的handler. wx里面有wxTimer.
补充:你的程序已经用到了wx的Timer控件,只要多创建一个Timer用来触发截图动作就可以了。
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就变成每天的定时任务。
写一个类. 类里留个变量(fun2_tiime)记录函数2执行的时间戳.
类里写个无限循环的函数, 不断比较 变量(fun2_tiime)当前时间差值, 如果差值大于20就执行函数2.
最简单的:
写一个python脚本
加一个死循环,判断时间。
如果到了指定的时间,就运行一次,然后在进入死循环。
当然不是要你真搞个死循环占用CPU,你可以用sleep函数。不占用CPU。
每次sleep 10s。。
加个启动项,每次开机启动这个脚本就行了。