Skip to main content
 首页 » 编程设计

python之如何立即停止执行 Python 脚本

2025年05月04日11小虾米

我有一个带有一堆函数的 python 脚本 (script.py),然后是一个运行所有内容的 main() 函数。

在 main() 之后,我还有:

if __name__ == '__main__': 
    main() 

我现在正在编写一个单独的脚本(timer.py)来每天午夜运行 script.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 

但是当我运行它时,main 似乎立即运行了。我认为上面的 if 条件会阻止这种情况发生?

谢谢。

请您参考如下方法:

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

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

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