• 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中的getattr函数 hasattr函数
  • 在Python中操作字符串之startswith()方法的使用
  • python中的yield使用方法
  • python计算方程式根的方法
  • Python编码爬坑指南(必看)
  • Python3基础之基本运算符概述
  • Python中的anydbm模版和shelve模版使用指南
  • python中的reduce内建函数使用方法指南
  • Python中使用ConfigParser解析ini配置文件实例
  • python动态文本进度条的实例代码

文章分类

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

最近更新的内容

    • python代码检查工具pylint 让你的python更规范
    • Python入门篇之列表和元组
    • 详解Python编程中基本的数学计算使用
    • Python中使用socket发送HTTP请求数据接收不完整问题解决方法
    • 简单介绍Python中的decode()方法的使用
    • Python装饰器的函数式编程详解
    • Python使用poplib模块和smtplib模块收发电子邮件的教程
    • Python中的Function定义方法第1/2页
    • Python将阿拉伯数字转换为罗马数字的方法
    • 使用Python进行稳定可靠的文件操作详解

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

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