我有一个带有一堆函数的 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 传递给调度程序。
