栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python跨平台监听按键?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python跨平台监听按键?

我不知道任何跨平台的轻量级模块可以监听按键。但是,如果您想实现一些简单的操作,这里有个建议:

在Python常见问题解答中查看有关一次获得一次按键的问题。您可以尝试屏蔽来自

sys.stdin
和的读取
threading
。但这仅适用于Unix。在Windows上,您可以使用
msvcrt.kbhit

结合Python FAQ和

msvcrt
模块中的按键配方,结果
kbhit
函数将如下所示:

try:    from msvcrt import kbhitexcept importError:    import termios, fcntl, sys, os    def kbhit():        fd = sys.stdin.fileno()        oldterm = termios.tcgetattr(fd)        newattr = termios.tcgetattr(fd)        newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO        termios.tcsetattr(fd, termios.TCSANOW, newattr)        oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)        fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)        try: while True:     try:         c = sys.stdin.read(1)         return True     except IOError:         return False        finally: termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm) fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650765.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号