Python实现带超时功能的键盘输入获取示例
本文提供Python中获取键盘输入并设置超时功能的代码示例。通过msvcrt模块实现字符读取与时间判断,支持默认值返回及ESC键终止逻辑,适用于需要限制用户等待时间的交互场景。
具体实现代码如下所示:
'''
###get keyboard input and timeout =5
import sys, time, msvcrt
def readInput( caption, default, timeout = 5):
start_time = time.time()
sys.stdout.write('%s(%s):'%(caption, default));
input = ''
while True:
if msvcrt.kbhit():
chr = msvcrt.getche()
if ord(chr) == 13: # enter_key
break
elif ord(chr) >= 32: #space_char
input += chr
if len(input) == 0 and (time.time() - start_time) > timeout:
break
print '' # needed to move to next line
if len(input) > 0:
return input
else:
return default
readInput("TEst1",10)
'''
###catch keyboard input, if key == ESC, stop
import sys, time, msvcrt
def readKeyBoardInput(timeout = 5):
start_time = time.time()
sys.stdout.write("If you want to stop test process,please click ESC button");
input = ''
while True:
if msvcrt.kbhit():
chr = msvcrt.getche()
if ord(chr) == 27: # ESC
return True
if len(input) == 0 and (time.time() - start_time) > timeout:
return False
以上关于Python获取键盘输入并具备超时功能的示例内容分享完毕,希望能为读者提供有益参考,同时也欢迎继续支持本站获取更多技术资源。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













