繁体   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