如何在执行raw_input()之前清除输入缓冲区的数据
来源:互联网 发布:湛江管家婆软件 编辑:程序博客网 时间:2024/05/21 23:33
在编写python代码时,我们有时会发现在程序来到raw_input()之前的时候键盘可能会输入一些数据保存在缓冲区,与我们真正想输入raw_input()的数据混在一起。就像下面代码所示的情况一样:
import timea = 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, TCIFLUSHimport timeimport sysa = 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 19999second input 21 2
当然,使用TCOFLUSH和TCIOFLUSH同理。
0 0
- 如何在执行raw_input()之前清除输入缓冲区的数据
- 输入缓冲区的清除问题
- 在C / C ++中清除输入缓冲区
- 如何清除串口缓冲区中的数据
- 清除浏览器自动记录之前输入的值
- 输入缓冲区清除
- 清除输入缓冲区
- 如何让一段程序在main函数之前执行的
- c清除缓冲区数据
- 如何从键盘输入数字字符|只有在输入完数据再按回车键后,该行数据才被送入内存上的键盘缓冲区里,形成输入流
- C语言清除输入缓冲区
- scanf()中清除输入缓冲区的几种方法归纳
- 如何清除setInterval的执行
- Listview如何在每次加载前先清除之前的列表信息
- 如何清除缓冲区中的字符,防止scanf函数的误读?
- fflush(stdin) 清除Scanf输入缓冲区
- 多玩YY语音的面试题:C++中如何在main()函数之前执行操作?
- 整型视图缓冲区如何读取字节缓冲区的数据?
- 类似于 合唱队形 —— hdu 1257 最少拦截系统
- C++中的seekg函数
- 深入理解Android(1)——理解Android中的JNI
- 使用BufferedInputStream的好处
- C++中new与malloc的10点区别
- 如何在执行raw_input()之前清除输入缓冲区的数据
- 按三角形逆序输入顶点来计算多边形面积
- online_judge_1389
- 如何解决double和float精度问题
- 【iOS问题】The file “XXX.app” couldn’t be opened because you don’t have permission to view it.
- 剑指offer:字符串的排列
- UICollectionView如果在数据不够一屏时上下滚动
- BZOJ1433假期的宿舍
- hdu 2058 The sum problem 枚举区间长度 + 等差公式