如何在 Python 2.7 中阻止键盘输入?

How to block keyboard input in Python 2.7?

我目前正在 Python 中创建基于文本的角色扮演游戏。

游戏首次启动时,会逐字打印一条小介绍信息。问题是,在打印时,用户仍然可以在键盘上键入并在文本中插入随机字母。

如何在打印介绍时阻止键盘输入?

逐字打印功能如下:

def slow_print(txt, duration=1):
    delay = float(duration)/len(txt)

    #Block input    

    for c in txt:
        write(c)
        time.sleep(delay)
    print

    #Unblock input

和写函数:

def write(s):
    sys.stdout.write(s)
    sys.stdout.flush()

注意:我在 Linux

我想你问的是关闭控制台键盘的 "echoing"。不确定如何跨平台支持对此进行控制,但标准 termios 模块允许您在 Posix 系统中执行此操作。

文档中甚至 example 这样做