1 回答

TA貢獻1804條經驗 獲得超2個贊
首先,start_file()應該start_file在調用中do():
import schedule
import os
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
否則,您只調用start_file()一次,并要求調度庫調用該調用的結果值,即None每天 9 點。調用None沒有意義,因此會出現異常。
其次,必須有一個循環才能使計劃的作業實際發生:
import time
...
while True:
schedule.run_pending()
time.sleep(1)
否則腳本將停止而不執行任何操作。這是一個非常簡單的庫,沒有任何外部依賴;它不使用操作系統的任務調度程序或類似的東西,因此腳本必須保持運行才能工作。
所以,總共:
import os
import schedule
import time
def start_file():
os.startfile(r"C:\python\Zoom.lnk")
schedule.every().day.at("09:00").do(start_file)
while True:
schedule.run_pending()
time.sleep(1)
如果你不需要任務在 9:00:00 整開始,而是在 9:00 左右開始,你也可以將睡眠時間延長到一分鐘,節省一點 CPU 資源:
while True:
schedule.run_pending()
time.sleep(60)
另外,我在字符串r之前添加了"C:\python\Zoom.lnk"。并不是因為它在這個特定示例中不起作用(它確實起作用),而是通常,如果沒有r, 則將\成為字符串中的轉義字符,而在 之后使用其他字符\(例如 )n,您將得到不需要的結果。對于r,\字符按字面意思處理,絕不作為轉義字符。這就是您想要的文件名中的反斜杠,尤其是在 Windows 上。
- 1 回答
- 0 關注
- 169 瀏覽
添加回答
舉報