睡觉时忽略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中的键盘输入的主要内容,如果未能解决你的问题,请参考以下文章

从python中的键盘获取多个输入

android键盘弹出问题

Python 正整数相加其余忽略

从片段导航到另一个片段时隐藏键盘

在linux上禁用python中的键盘

Python:无重复延迟的键盘输入