欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2013年09月27日 16:27:25   作者:  
很久很久以前,系windows平臺(tái)下,用C語(yǔ)言寫過(guò)一款貪食蛇游戲,cmd界面,用kbhit()函數(shù)實(shí)現(xiàn)非阻塞輸入。系windows平臺(tái)下用python依然可以調(diào)用msvcrt.khbit實(shí)現(xiàn)非阻塞監(jiān)聽。但系喺l(shuí)inux下面就冇呢支歌仔唱

 隨手google咗一下,基本上都用select實(shí)現(xiàn)非阻塞監(jiān)聽,但問(wèn)題是,監(jiān)聽的是用select之后是不能像getchar()那樣,即時(shí)收到單個(gè)字符的輸入,必須要等待回車。

    經(jīng)過(guò)努力不怠咁google... [好吧,還是google。沒有g(shù)oogle什么也做不了。]

    最后系一大堆英文資料入面,拼湊出如下可用的代碼,實(shí)現(xiàn)了單個(gè)字符非阻塞輸入。

    show code below.

復(fù)制代碼 代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
""" python non blocking input
"""
__author__ = 'Zagfai'
__version__=  '2013-09-13'

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:')


其中用到兩個(gè)模塊,分別系termios、tty,用來(lái)控制tty的輸入模式,由行輸入變?yōu)閱巫址?/P>

    END.

相關(guān)文章

  • Django教程筆記之中間件middleware詳解

    Django教程筆記之中間件middleware詳解

    Django 中的中間件(middleware),是一個(gè)鑲嵌到Django的request/response處理機(jī)制中的一個(gè)hooks框架,是一個(gè)修改django全局輸入輸出的一個(gè)底層插件系統(tǒng)。這篇文章主要給大家介紹了關(guān)于Django教程筆記之中間件middleware的相關(guān)資料,需要的朋友可以參考下
    2018-08-08
  • python實(shí)現(xiàn)炫酷屏幕保護(hù)的示例代碼

    python實(shí)現(xiàn)炫酷屏幕保護(hù)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用python實(shí)現(xiàn)炫酷屏幕保護(hù)效果,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起了解一下
    2023-12-12
  • Python讀寫csv文件流程及異常解決

    Python讀寫csv文件流程及異常解決

    這篇文章主要介紹了Python讀寫csv文件流程及異常解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Django框架模型簡(jiǎn)單介紹與使用分析

    Django框架模型簡(jiǎn)單介紹與使用分析

    這篇文章主要介紹了Django框架模型簡(jiǎn)單介紹與使用,結(jié)合實(shí)例形式分析了Django框架中模型的概念、原理、使用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • Python學(xué)習(xí)之.iloc與.loc的區(qū)別、聯(lián)系和用法

    Python學(xué)習(xí)之.iloc與.loc的區(qū)別、聯(lián)系和用法

    loc和iloc都是pandas工具中定位某一行的函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)之.iloc與.loc的區(qū)別、聯(lián)系和用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • python的迭代器,生成器和裝飾器你了解嗎

    python的迭代器,生成器和裝飾器你了解嗎

    這篇文章主要為大家詳細(xì)介紹了python的迭代器,生成器和裝飾器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-02-02
  • 手把手教你配置JupyterLab 環(huán)境的實(shí)現(xiàn)

    手把手教你配置JupyterLab 環(huán)境的實(shí)現(xiàn)

    這篇文章主要介紹了手把手教你配置JupyterLab 環(huán)境,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python3中編碼與解碼之Unicode與bytes的講解

    Python3中編碼與解碼之Unicode與bytes的講解

    今天小編就為大家分享一篇關(guān)于Python3中編碼與解碼之Unicode與bytes的講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境

    Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境

    這篇文章主要介紹了Windows 8.1 64bit下搭建 Scrapy 0.22 環(huán)境,需要的朋友可以參考下
    2018-11-11
  • python中字典dict排序sorted的實(shí)現(xiàn)

    python中字典dict排序sorted的實(shí)現(xiàn)

    本文主要介紹了python中字典dict排序sorted的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論