python 获取键盘输入,同时有超时的功能示例

yipeiwu_com5年前Python基础

如下所示:

'''
###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 获取键盘输入,同时有超时的功能示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python利用pandas处理Excel数据的应用详解

Python利用pandas处理Excel数据的应用详解

最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储...

Django网络框架之创建虚拟开发环境操作示例

本文实例讲述了Django网络框架之创建虚拟开发环境操作。分享给大家供大家参考,具体如下: @什么是虚拟开发环境 很多时候一台服务器上要运行多个Web应用程序; 而这些应用程序...

跟老齐学Python之Python文档

跟老齐学Python之Python文档

文档很重要。独孤九剑的剑诀、易筋经的心法、写着辟邪剑谱的袈裟,这些都是文档。连那些大牛人都要这些文档,更何况我们呢?所以,文档是很重要的。 文档,说白了就是用word(这个最多了)等(注...

Python使用POP3和SMTP协议收发邮件的示例代码

Python使用POP3和SMTP协议收发邮件的示例代码

先来了解一下收/发邮件有哪些协议: SMTP协议 SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议。相当于中转站,将邮件发送到客户端。 POP...

python 普通克里金(Kriging)法的实现

python 普通克里金(Kriging)法的实现

克里金法时一种用于空间插值的地学统计方法。 克里金法用半变异测定空间要素,要素即自相关要素。 半变异公式为: 其中γ(h) 是已知点 xi 和 xj 的半变异,***h***表示...