如何在Python2.7中阻止键盘输入?

如何在Python2.7中阻止键盘输入?,python,keyboard,text-based,Python,Keyboard,Text Based,我目前正在用Python创建一个基于文本的RPG 当游戏首次启动时,它会逐字打印一条简短的介绍信息。问题是,在打印过程中,用户仍然可以在键盘上键入并在文本中插入随机字母 打印简介时,如何阻止键盘输入 以下是逐字打印功能: def slow_print(txt, duration=1): delay = float(duration)/len(txt) #Block input for c in txt: write(c) tim

我目前正在用Python创建一个基于文本的RPG

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

打印简介时,如何阻止键盘输入

以下是逐字打印功能:

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()
以及写入功能:

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上

我想你是在问关于关闭键盘对控制台的“回音”的问题。不确定如何跨平台支持对其进行控制,但标准的
termios
模块允许您在Posix系统中实现这一点


文档中甚至有这样做的例子

请注意,当您需要更复杂的输出时,您应该考虑使用,这样做会更容易