中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現定時器功能的方法

發布時間:2020-07-21 09:45:37 來源:億速云 閱讀:174 作者:小豬 欄目:開發技術

這篇文章主要講解了Python實現定時器功能的方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。

Timer: 隔一定時間調用一個函數,如果想實現每隔一段時間就調用一個函數的話,就要在Timer調用的函數中,再次設置Timer。Timer是Thread的一個派生類

python中的線程提供了java線程功能的子集。

#!/usr/bin/env python
from threading import Timer
import time
timer_interval=1
def delayrun():
 print 'running'
t=Timer(timer_interval,delayrun)
t.start()
while True:
 time.sleep(0.1)
 print 'main running'

t是一個Timer對象。delay一秒鐘之后執行delayrun函數。

其中time.sleep函數是用來讓主線程暫停一點時間再繼續執行。

實例擴展:

Python3定時器任務代碼

import time
import sys
import signal
import datetime
import threading
#定時器
def schedule_update():
  t = threading.Timer(0, event_func)
  t.setDaemon(True)
  t.start()
#執行函數
def event_func():
  now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  print(now_time)
  exec_update()
  #update_openvas_dbs_from_cache()
  interval_time = delay_time()
  t = threading.Timer(interval_time, event_func)
  t.setDaemon(True)
  t.start()
#取時間點
def delay_time():
  # now time
  now_time = datetime.datetime.now()
  # tomorrow time
  next_time = now_time + datetime.timedelta(days=+1)
  next_year = next_time.date().year
  next_month = next_time.date().month
  next_day = next_time.date().day
  # get tomorrow 00:00
  next_time = datetime.datetime.strptime(str(next_year)+"-"+str(next_month)+"-"+str(next_day)+" 00:00:00", "%Y-%m-%d %H:%M:%S")
  # get secondes
  delay_time = (next_time - now_time).total_seconds()
  return delay_time
def quit_sys(signum, frame):
  sys.exit()
#接收C
if __name__ == "__main__":
  try:
    signal.signal(signal.SIGINT, quit_sys)
    signal.signal(signal.SIGTERM, quit_sys)
    schedule_update()
    print("schedule_update server starting up...\nHit Ctrl-C to quit.\n")
    while 1:
      time.sleep(1)
  except Exception as e:
    print(e)

看完上述內容,是不是對Python實現定時器功能的方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仙游县| 调兵山市| 会宁县| 阳山县| 县级市| 兴文县| 界首市| 黔西| 神农架林区| 松江区| 瑞丽市| 西乌| 秦皇岛市| 贵州省| 前郭尔| 黄骅市| 双辽市| 尚志市| 嘉善县| 衢州市| 肃宁县| 孟连| 大姚县| 临洮县| 米脂县| 汉源县| 资中县| 新余市| 明光市| 轮台县| 安多县| 榆社县| 霍城县| 游戏| 沁阳市| 化德县| 高州市| 临洮县| 恩施市| 九龙县| 康定县|