簡體   English   中英

條件為真時如何自動運行腳本?

[英]How to auto-run a script when a condition is true?

假設我有以下python程序:

def Is_it_Midnight(args):
    print("It's midnight!")

我希望.py腳本能夠在某個特定條件為真時自行執行,例如說“當時鍾敲響午夜時分”。

那可能嗎?

您可以使用線程庫使例程定期重新啟動。 在這種情況下,每86400秒(1天)。

修改您的代碼以:

import threading
import time

def Is_it_Midnight(args):
    threading.Timer(86400, Is_it_Midnight).start()
    print("It's midnight!")

然后,您只需要讓代碼第一次在午夜運行即可。 就像是:

seconds = time.time()
since_midnight = seconds % 86400
time.sleep(86400-since_midnight)
Is_it_Midnight()

我不確定如何處理將args傳遞到例程中。

有一些選項可以運行腳本。

我最喜歡的是創建myscript.py並在其中定義一個函數,例如def alarm()...然后在您的主腳本中:

import myscript

時間到了,請致電:

myscript.alar()

還有另一種方法,您可以調用execfile("myscript.py")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM