死循环
有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下
while True:
run_your_code()
结束死循环
通常我们结束死循环的程序都是使用ctrl+c
,但是如果不对程序做处理的话,往往程序会以“异常”的方式结束程序,并且更多的时候我们希望程序在退出之前能够结束最近一次循环所执行的功能。
如何优雅结束
import signal
def signal_handler(signal, frame):
global interrupted
interrupted = True
if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler)
interrupted = False
while True:
run_your_code()
if interrupted:
run_your_other_code()
break
参考
https://stackoverflow.com/questions/32922909/how-to-stop-an-infinite-loop-safely-in-python