天天看點

python延遲指定時間執行特定任務腳本

函數功能說明:

指定時間間隔(day,hour,min,second)一個或多個選項,例如,從現在開始延遲 5分鐘/1小時,運作一個hello函數。

from datetime import date, time, datetime, timedelta

import time

def hello():

   print "hello world."

def runTask(func, day=0, hour=0, min=5, second=0):

   # get current time

   now = datetime.now()

   strnow = now.strftime('%Y-%m-%d %H:%M:%S')

   print "now:",strnow

   # get net_run time

   period = timedelta(days=day, hours=hour, minutes=min, seconds=second)

   next_time = now + period

   strnext_time = next_time.strftime('%Y-%m-%d %H:%M:%S')

   print "next run:",strnext_time

   while True:

       now = datetime.now()

       strnow = now.strftime('%Y-%m-%d %H:%M:%S')

       # if system time eq next_time run the specific task(hello func)

       if str(strnow) == str(strnext_time):

           print strnow

           func()

           print "task done."

           break

runTask(hello, min=3)