有没有一种优雅的方法可以使python中的main()定期再次运行?

时间:2019-08-14 22:33:23

标签: python

我正在制作一个非常基本的天气跟踪器应用程序,我希望它可以实时跟踪(我想将其用作宿舍房间里树莓派的信息亭)。我认为这样做的方法是使用sleep,但是有没有更优雅的方法来包装main()以便它在每个x时段重新运行?

我的代码的结构如下:

def function1():
    # do things

def function2():
    # do things

def function3():
    # do things

def main():
    # code that creates GUI
    function1()
    function2()
    function3()


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

假设您要从终端调用此脚本,并且使用的是Unix / Linux操作系统:

while true; do python your_script.py; sleep 2; done

your_script.py替换为您的文件名,并将2替换为所需的时间(以秒为单位)。

如果要在脚本中执行操作,可以放置一个无限的while循环以定期间隔调用main:

import time

def main():
    print("1")

if __name__ == '__main__':
    while True:
        main()
        time.sleep(2)