我有一个此更新功能:
def update(self, interval=60):
while True:
# Do stuff
time.sleep(interval)
我想知道在调用该函数后,可以通过用户输入中断循环,同时保持脚本运行的可能方法。
我发现的答案都是5年前的答案,主要取决于平台。是否有任何新的/可靠的方法来实现这一目标?如果可能的话,我宁愿避免线程化。使用3.7
答案 0 :(得分:1)
您可以使用signal创建一个中断处理程序。但是,这仍然依赖于系统线程进行监视。我不认为这是昂贵的,因为线程已经产生。
从本质上讲,您仍然需要一种控制循环的全局标志。当发生中断触发(用户输入等)时,中断将更改标志的值,并且循环终止以进行其他处理。