【问题标题】:Handling keyboard events in python在python中处理键盘事件
【发布时间】:2011-09-14 23:47:43
【问题描述】:

如何在 python 中处理键盘事件?更确切地说,我需要为我的命令行应用程序管理键盘箭头和其他一些键。 是否有一个模块,或者我需要使用例如“if get(key)==(mykey): do something”(它是伪代码)来逐个处理? 我在 Gnu/Linux 操作系统上。

【问题讨论】:

    标签: python keyboard-events


    【解决方案1】:

    cmd 模块是否适合您的需求?例如,它通过箭头键处理命令行历史记录以及完成。

    如果您需要捕获单个键,则有一个跨平台的 recipe (另请参阅 StackOverflow 上的 Python read a single character from the user)。

    【讨论】:

    • 看来我也需要 cmd 模块 :) 谢谢。我点击了你的答案,认为它很有用。
    【解决方案2】:

    您可能正在寻找 python (n)curses 库。这将允许“绕过”您的终端缓冲并直接使用按键。

    【讨论】:

    • 谢谢。我已经想到了一些关于诅咒的事情,你证实了我。
    【解决方案3】:

    jkerian 的curses 建议是一个很好的建议,如果您正在使用 Unix/Linux/等,那么它就是一个可以使用的建议。 (您就是),但如果您最终在 Windows 环境中工作,那么您肯定会想要查看 pywin32 及其 win32con 模块,它包装了 Windows API 的控制台函数和结构。

    【讨论】:

      【解决方案4】:

      我发现了另一个有趣的模块,它使用起来很简单,我会使用它!该模块是 readline ,您只需将其导入即可拥有 bash shell(处理键盘、历史列表等)“模拟”。它适用于 *nix 系统。我刚开始使用 python 语言,我还不知道所有模块。 readline

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-01-15
        • 1970-01-01
        • 2020-06-01
        • 1970-01-01
        相关资源
        最近更新 更多