python每隔一段时间做一个事情

 1 #!/usr/bin/env python
 2 #coding:utf8
 3 #Author:lsp
 4 #Date:下午2:17:54
 5 #Version:0.1
 6 #Function: 每隔一段时间做一个事情   
 7 from datetime import date, time, datetime, timedelta
 8 
 9 #要做的事情   
10 def work():
11   print "hello world."
12 
13 def runTask(func, day=0, hour=0, min=0, second=0):
14   # Init time
15   now = datetime.now()
16   strnow = now.strftime('%Y-%m-%d %H:%M:%S')
17   print "now:",strnow
18   # First next run time
19   period = timedelta(days=day, hours=hour, minutes=min, seconds=second)
20   next_time = now + period
21   strnext_time = next_time.strftime('%Y-%m-%d %H:%M:%S')
22   print "next run:",strnext_time
23   while True:
24       # Get system current time
25       iter_now = datetime.now()
26       iter_now_time = iter_now.strftime('%Y-%m-%d %H:%M:%S')
27       if str(iter_now_time) == str(strnext_time):
28           # Get every start work time
29           print "start work: %s" % iter_now_time
30           # Call task func
31           work()
32           print "task done."
33           # Get next iteration time
34           iter_time = iter_now + period
35           strnext_time = iter_time.strftime('%Y-%m-%d %H:%M:%S')
36           print "next_iter: %s" % strnext_time
37           # Continue next iteration
38           continue
39 
40 # runTask(work, min=0.5)
41 runTask(work(), day=0, hour=0, min=0,second=10)

 

posted on 2016-06-16 14:24  ..小树苗  阅读(3011)  评论(1编辑  收藏  举报

导航