一、定時任務的概述
在進行軟件開發時,定時任務是一種很重要的技術,它可以使程序按照指定的時間周期性地執行任務,極大地提高了程序的自動化程度。Python作為業內知名的腳本語言,其支持定時任務從而可以開發出更加高效、便捷的程序。
定時任務可以分為系統級別和應用級別。系統級別需要管理員權限,應用級別則只是限制在某一個應用程序中。
二、Python實現定時任務的方法
Python提供了多種實現定時任務的方法,常見的有以下幾種:
1. 使用Python自帶模塊time
import time
def task():
print("task function was called")
# 每隔5秒鐘執行一次任務
while True:
task()
time.sleep(5)
代碼中,time.sleep(5)是暫停5秒鐘再執行下一次任務,同時程序在執行任務過程中是不會進行其他操作的。
2. 使用Python自帶模塊sched
import sched, time
def task():
print("task function was called")
schedule = sched.scheduler(time.time, time.sleep)
# 每隔5秒鐘執行一次任務
while True:
schedule.enter(5, 1, task, ())
schedule.run()
代碼中,sched模塊用於實現調度程序,同時之後調用enter方法可以實現在指定時間調度指定函數。
3. 使用Python第三方模塊schedule
import schedule
def task():
print("task function was called")
# 每隔5秒鐘執行一次任務
schedule.every(5).seconds.do(task)
while True:
schedule.run_pending()
time.sleep(1)
代碼中使用了schedule模塊,其語法簡單易懂,方便實用。
三、Python實現每天定時任務的方法
在Python實現每天定時任務時,需要指定任務的時間,即指定程序在一天中的哪個時間執行。常見的有以下兩種方法:
1. 使用time模塊配合if語句實現
import time
def task():
print("task function was called")
while True:
localtime = time.localtime(time.time())
if localtime.tm_hour == 13 and localtime.tm_min == 30:
task()
time.sleep(60)
上述代碼中,當本地時間的小時數等於13,分鐘數等於30的時候,程序會執行定時任務。
2. 使用第三方模塊schedule實現
import schedule
def task():
print("task function was called")
# 每天的13:30執行任務
schedule.every().day.at("13:30").do(task)
while True:
schedule.run_pending()
time.sleep(1)
上述代碼中,使用schedule模塊,並且每天的時間定時設置為13:30,程序依據設定時間運行。
四、總結
Python實現定時任務是軟件開發的重要技術,使用Python自帶模塊time或sched,以及第三方模塊schedule都能夠方便地實現定時任務。在每天定時任務時,需要配合if語句或者指定模塊schedule配合at方法指定時間點實現。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/191909.html