我有一个无限的while循环,当用户按下一个键时,我想打破这个循环。通常,我使用raw_input来获取用户的响应。但是,我需要raw_input不等待响应。我想要这样的东西:

print 'Press enter to continue.'
while True:
    # Do stuff
    #
    # User pressed enter, break out of loop

这应该很简单,但是我似乎无法弄清楚。我倾向于使用线程的解决方案,但我宁愿不必这样做。我该怎么做?

最佳答案

我认为您可以使用msvcrt做得更好:

import msvcrt, time
i = 0
while True:
    i = i + 1
    if msvcrt.kbhit():
        if msvcrt.getwche() == '\r':
            break
    time.sleep(0.1)
print(i)

可悲的是,仍然是特定于Windows的。

关于Python-无限while循环,中断用户输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20576960/

10-12 12:21
查看更多