如何停止Python脚本立即执行

2024-05-17 18:40:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本(脚本.py)一堆函数,然后是一个main()函数来运行所有的东西。你知道吗

在main()之后,我还有:

if __name__ == '__main__':
    main()

我现在正在写一个单独的脚本(定时器.py)跑脚本.py每天午夜。你知道吗

import schedule
import time
from script import main

schedule.every().day.at("00:00").do(main(),'It is 00:00')

while True:
    schedule.run_pending()
    time.sleep(60) # wait one minute

但当我运行它时,主系统似乎立即运行。我以为上面的if条件会阻止这种情况发生?你知道吗

谢谢。你知道吗


Tags: 函数namefrompyimport脚本iftime
2条回答

您应该将main()更改为main,并删除字符串'It is 00:00',因为main()没有参数:

schedule.every().day.at("00:00").do(main)  

因为在您的代码中,您调用main(),并尝试调度调用的结果(可能是None),而您需要将callable传递给调度程序。你知道吗

调用“main()”方法,而不是传递对“main”函数的引用。你知道吗

不应该是这样吗。 schedule.every().day.at("00:00").do(main,'It is 00:00')

相关问题 更多 >