如何在执行raw_input()之前清除输入缓冲区的数据
2016-03-08 19:49
239 查看
在编写python代码时,我们有时会发现在程序来到raw_input()之前的时候键盘可能会输入一些数据保存在缓冲区,与我们真正想输入raw_input()的数据混在一起。就像下面代码所示的情况一样:
为了解决这类问题,这里介绍一个函数。函数功能描述如下:
termios.tcflush(fd, queue):
丢弃文件描述符fd中的数据队列。变量queue表示具体待处理的队列,如TCIFLUSH表示输入队列,TCOFLUSH表示输出队列,TCIOFLUSH同时表示输入输出队列。
使用范例如下:
当然,使用TCOFLUSH和TCIOFLUSH同理。
import time a = raw_input('first input') time.sleep(10) #这个时候混入了一些键盘输入 b = raw_input('second input')
为了解决这类问题,这里介绍一个函数。函数功能描述如下:
termios.tcflush(fd, queue):
丢弃文件描述符fd中的数据队列。变量queue表示具体待处理的队列,如TCIFLUSH表示输入队列,TCOFLUSH表示输出队列,TCIOFLUSH同时表示输入输出队列。
使用范例如下:
from termios import tcflush, TCIFLUSH import time import sys a = raw_input("first input ") time.sleep(10) tcflush(sys.stdin, TCIFLUSH) b = raw_input("second input ") print a, '\t', b ~$ python test.py first input 1 99 99 second input 2 1 2
当然,使用TCOFLUSH和TCIOFLUSH同理。
相关文章推荐
- 创建一个自己的动态HTML-备
- 深入理解Android(1)——理解Android中的JNI
- 指针函数与函数指针的区别
- C++中的seekg函数
- Delphi的TService的輸入桌面切換(服务程序)(windows登录界面如何截图)(使用了OpenDesktop和GetThreadDesktop等API)
- 【足迹C++primer】46、动态存储类
- windows10的激活及SQL Server 2008 的安装
- 自我介绍 看了构建之法这本书有什么问题?
- 滴滴打车架构
- poj1127
- BeanUtils注册数据转化类型
- Jquery使用ajax以及angularjs 动态模板加载并进行渲染
- 子线程中更新主线程中的UI
- jsp与servlet的传值问题
- 合唱队形
- iOS开发之HTTP、TCP/IP、Socket
- oracle 通过父类查找子类 prior
- 【ZYNQ-7000开发之十四】Vivado HLS和OpenCV_上
- 解决thinkphp在不支持pathinfo的nginx上的问题
- python脚本工具-1 制作爬虫下载网页图片