用Python中的用户输入结束循环

时间:2019-03-08 17:33:27

标签: python python-3.x input

我有一个此更新功能:

def update(self, interval=60):
    while True:
        # Do stuff

        time.sleep(interval)

我想知道在调用该函数后,可以通过用户输入中断循环,同时保持脚本运行的可能方法。

我发现的答案都是5年前的答案,主要取决于平台。是否有任何新的/可靠的方法来实现这一目标?如果可能的话,我宁愿避免线程化。使用3.7

1 个答案:

答案 0 :(得分:1)

您可以使用signal创建一个中断处理程序。但是,这仍然依赖于系统线程进行监视。我不认为这是昂贵的,因为线程已经产生。

从本质上讲,您仍然需要一种控制循环的全局标志。当发生中断触发(用户输入等)时,中断将更改标志的值,并且循环终止以进行其他处理。