如何在 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 这样做
我目前正在 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 这样做