python如何实现程序定时执行的功能?

Python012

python如何实现程序定时执行的功能?,第1张

sleep就可以吧,把程序作为一个线程,启动线程,里面加个sleep,示例如下:\x0d\x0aimport threading\x0d\x0aimport time\x0d\x0aclass Test(threading.Thread):\x0d\x0adef __init__(self):\x0d\x0apass\x0d\x0a\x0d\x0adef test(self):\x0d\x0aprint 'run test!'\x0d\x0a\x0d\x0adef run(self):\x0d\x0awhile True:\x0d\x0aprint time.strftime('%Y-%m-%d %H:%M:%S')\x0d\x0aself.test()\x0d\x0atime.sleep(5)\x0d\x0a#test...\x0d\x0aa=Test()\x0d\x0aa.run()\x0d\x0a#...test

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就变成每天的定时任务。