溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python:實(shí)現(xiàn)計(jì)劃任務(wù)和打包程序

發(fā)布時(shí)間:2020-07-18 22:56:34 來(lái)源:網(wǎng)絡(luò) 閱讀:860 作者:小生博客 欄目:編程語(yǔ)言

Python==3.7.x

有兩種方式實(shí)現(xiàn)計(jì)劃任務(wù):

  1. schedule
  2. APscheduler
  3. 打包python程序
  • 定時(shí)器:schedule
  import schedule
  import time,datetime

  def task(name):
      print("{0}".format(name))

  # 每隔2秒執(zhí)行一次任務(wù)
  schedule.every(2).seconds.do(task, name)
  # 每隔一小時(shí)執(zhí)行一次任務(wù)
  schedule.every().hour.do(task, name)
  # 每天10:30執(zhí)行一次任務(wù)
  schedule.every().day.at("10:30").do(task, name)

  while True:
      schedule.run_pending()
      # 因?yàn)閟chedule只是一個(gè)定時(shí)器,他不會(huì)死循環(huán)執(zhí)行任務(wù),所以我們這里需要使用while
      time.sleep(1)
  • 調(diào)度任務(wù)模塊:apscheduler
  # aps有兩種方式寫法

  ## 第一種(第一種寫法)
  from apscheduler.schedulers.blocking import BlockingScheduler

  def task():
      print('task')

  aps = BlockingScheduler()
  #在6月,7月,8月,11月和12月的第三個(gè)星期五的00:00,01:00,02:00和03:00執(zhí)行job_function
  aps.add_job(job_function, 'cron', month='6-8,11-12', day='3rd fri', hour='0-3')
  aps.start()

  ## 第二種(第二種寫法,在某些情況下可以避免報(bào)錯(cuò),比如將python程序打包成執(zhí)行文件后,第一種方法寫的就會(huì)報(bào)錯(cuò)('LookupError: No trigger by the name "cron" was found').)

  from apscheduler.schedulers.blocking import BlockingScheduler
  from apscheduler.triggers.interval import IntervalTrigger

  def task():
      print('task')

  # 每秒執(zhí)行一次
  trigger = IntervalTrigger(seconds=1)
  aps = BlockingScheduler()
  aps.add_job(func=a._start, trigger=trigger)
  aps.start()
  • python程序打包命令

推薦一個(gè)制作icon的軟件點(diǎn)擊此處下載試用版

  pip install PyInstaller==3.5

  # 建議使用絕對(duì)路徑
  pyinstaller main_handler.py -F -p <lib/site-packages path> -i <icon>
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI