• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python 命令行非阻塞输入的小例子

Python 命令行非阻塞输入的小例子

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python 命令行参数,退出python命令行,python 命令行,python命令行窗口,python命令行模式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

 随手google咗一下,基本上都用select实现非阻塞监听,但问题是,监听的是用select之后是不能像getchar()那样,即时收到单个字符的输入,必须要等待回车。

    经过努力不怠咁google... [好吧,还是google。没有google什么也做不了。]

    最后系一大堆英文资料入面,拼凑出如下可用的代码,实现了单个字符非阻塞输入。

    show code below.

import sys
import select
from time import sleep
import termios
import tty

old_settings = termios.tcgetattr(sys.stdin)
tty.setcbreak(sys.stdin.fileno())
while True:
    sleep(.001)
    if select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []):
        c = sys.stdin.read(1)
        if c == '\x1b': break
        sys.stdout.write(c)
        sys.stdout.flush()
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_settings)

print raw_input('123:')
</div>
其中用到两个模块,分别系termios、tty,用来控制tty的输入模式,由行输入变为单字符。

    END.

</div>

您可能想查找下面的文章:

  • Python中的命令行参数解析工具之docopt详解
  • Python中的命令行参数解析工具之docopt详解
  • Python命令启动Web服务器实例详解
  • 利用Python命令行传递实例化对象的方法
  • Python实现命令行通讯录实例教程
  • 用Python实现命令行闹钟脚本实例
  • Python实现命令行通讯录实例教程
  • python实现读取命令行参数的方法
  • python命令行参数解析OptionParser类用法实例
  • python命令行参数解析OptionParser类用法实例

相关文章

  • Python解决鸡兔同笼问题的方法
  • 基于Python实现的扫雷游戏实例代码
  • Python中使用ElementTree解析XML示例
  • Python版的文曲星猜数字游戏代码
  • Python的Bottle框架中获取制定cookie的教程
  • Windows和Linux下Python输出彩色文字的方法教程
  • Python中的生成器和yield详细介绍
  • python同义词替换的实现(jieba分词)
  • Python多进程通信Queue、Pipe、Value、Array实例
  • Python实现对字符串的加密解密方法示例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
    • Python数组遍历的简单实现方法小结
    • Python爬取qq music中的音乐url及批量下载
    • python中文乱码的解决方法
    • python去掉行尾的换行符方法
    • Python中AND、OR的一个使用小技巧
    • Python中random模块用法实例分析
    • python实现自动登录人人网并采集信息的方法
    • Python3实现并发检验代理池地址的方法
    • Python在图片中添加文字的两种方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有