想要返回python 3.1中按下的键吗

想要返回python 3.1中按下的键吗,python,keypress,Python,Keypress,我想要一个脚本,将返回按键一旦用户按下,即使它有时间限制。我使用时间限制让用户输入返回,但我的代码不起作用。我尝试了以下方法 def answer(timeout): print "Enter the answer" stop = time.time() + timeout r=['a','b','c','d'] while True: if msvcrt.getche() in r: return msvcrt.getch

我想要一个脚本,将返回按键一旦用户按下,即使它有时间限制。我使用时间限制让用户输入返回,但我的代码不起作用。我尝试了以下方法

def answer(timeout):
    print "Enter the answer"
    stop = time.time() + timeout
    r=['a','b','c','d']
    while True:
        if msvcrt.getche() in r:
            return msvcrt.getche()

        else:
            if time.time() > stop:
                return 'O'
但在超时之前,我只能得到“ÿ”,即使我按下任何键,它也不会被检测到。
在这里,我需要一个代码,当按下时返回a | b | c | d,或当时间超过时返回O。

它是否仅适用于windows平台?你读过这个吗?上面写着窗户在上面。模块msvcrt的名称表示它是特定于Microsoft的。@Myjab:您能澄清一下,您的意思是windows和linux吗?您可能需要linux的curses库。通过使用curses和给出的其他示例,我只能执行任何一个操作。(即)我可以检测到按键,或者我可以假设在特定时间后我的返回值为零。实际上,我需要在时间限制内按下该键,如果没有按下任何键,则返回默认值。请帮助我它是否仅适用于windows平台?你读过这个吗?上面写着窗户在上面。模块msvcrt的名称表示它是特定于Microsoft的。@Myjab:您能澄清一下,您的意思是windows和linux吗?您可能需要linux的curses库。通过使用curses和给出的其他示例,我只能执行任何一个操作。(即)我可以检测到按键,或者我可以假设在特定时间后我的返回值为零。实际上,我需要在时间限制内按下该键,如果没有按下任何键,则返回默认值。请帮帮我