睡觉时忽略python中的键盘输入
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了睡觉时忽略python中的键盘输入相关的知识,希望对你有一定的参考价值。
我有一个循环的代码要求输入,然后睡了一段时间。目的是防止人为错误,迫使用户在进入下一个输入之前等待。问题是,python在time.sleep时不会忽略键盘输入。
这是一个示例代码:
from time import sleep
from msvcrt import getch
for i in range(3):
print 'Enter a character'
char = getch()
sleep(2)
print char
在time.sleep()期间连续按某些字符时,msvcrt.getch()会记住它们并且循环运行到结尾。我希望在睡眠期间按下的每个角色都会被忽略。我怎样才能做到这一点?
答案
对不起我之前发布的错误答案(虽然我已删除),这是你要求的人类问题。
程序线程是唯一可以进入休眠状态的事件,而键盘进程仍在运行,显然它会在从睡眠状态恢复后记录所有输入和类型。
这不能以这种方式实现
另一答案
这是一个依赖于操作系统的问题,对于Windows我使用它:
import msvcrt import time time.sleep(4) while msvcrt.kbhit(): flush = input() entry = input("Press enter!")
它只是在要求用户输入新内容之前捕获所有输入,希望它有所帮助!
以上是关于睡觉时忽略python中的键盘输入的主要内容,如果未能解决你的问题,请参考以下文章