如何在python中打破基于时间的循环

时间:2017-05-27 02:53:45

标签: python-3.x

是否有人会在python3中提供打破基于时间的循环的解决方案。我花了几个小时尝试了不同的食谱来解决这个问题,但没有那些对我有用。这是python3代码,我想在没有控制的情况下在运行期间打破循环" C"。所以像E-Stop一样工作。任何键盘输入都会完全循环。



from time import sleep

def blink():
    print('Hit enter to quite')
    sleep(1)
 
while 1: blink()




从时间导入睡眠

def blink():     打印('点击进入相当')     睡眠(1)

1:闪烁()

1 个答案:

答案 0 :(得分:0)

如果您想退出键盘输入(例如输入),那么您需要使用input()实际获取用户的输入:

while True:
    user_input = input("Press enter to quit")
    if user_input == "":
        break

这将等待用户并在他们刚刚点击enter时中断。如果你想从一个方法中做到这一点,你应该让该方法返回一个值:

def blink():
    user_input = input("Press enter to quit")
    if user_input == "":
        return True
    return False

done = False

while not done:
    done = blink()

如果您想要非阻塞输入(例如,要打印脚本"按Enter键退出"每按一次直到输入(" \ r"),您可以使用{ {1}}(仅限Windows):

msvcrt

但是,请记住,时间和非阻塞(称为异步)行为可能会导致奇怪的错误,除非您真正理解您的代码,否则应该避免。