我需要每5分钟调用一个脚本(test.py),所以我使用了另一个脚本timer.py和以下代码:
import time
while(1==1):
execfile("test.py")
time.sleep(300)
Run Code Online (Sandbox Code Playgroud)
这工作正常.但经过几次迭代后它停止了工作.调试后我发现test.py中有一个流程,它使用以下代码:
sys.exit()
Run Code Online (Sandbox Code Playgroud)
因此,这会导致test.py和timer.py停止.应该做什么更改,以便继续timer.py,因为我希望sys.exit()只退出test.py而不是timer.py
sys.exit()不会再提高SystemExit(BaseException子类),它可以像任何异常一样被捕获,例如:
import time
while True:
try:
execfile("test.py")
except SystemExit:
print("ignoring SystemExit")
finally:
time.sleep(300)
Run Code Online (Sandbox Code Playgroud)