2011-06-14 118 views
0

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

回答

2

您可能正在寻找一个python (n)curses库。这将允许“避开”终端缓冲并直接使用按键操作。

+2

http://docs.python.org/library/curses.html – nmichaels 2011-06-14 19:31:15

+0

谢谢。我已经想到了一些关于诅咒的事情,而你确认了我。 – stdio 2011-06-14 19:52:45

3

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

如果您需要捕获单个密钥,则为此提供了一个跨平台的recipe(另请参阅StackOverflow上的Python read a single character from the user)。

+0

看来我需要CMD模块:)谢谢。我点击你的答案是有用的。 – stdio 2011-06-14 19:49:05

1

jkerian's curses建议是一个很好的建议,如果你使用的是Unix/Linux/etc,那么这个建议是可以使用的。 (你是),但如果你最终在Windows环境下工作,那么你一定要检查出pywin32和它的win32con模块,它包装了Windows API的控制台功能和结构。

0

我发现了另一个有趣的模块,可以直接使用,我将使用它!该模块是readline,你只需要导入它有一个bash shell(处理键盘,历史列表等)“模拟”。它用于* nix系统。我刚开始使用python语言,但我还不知道所有模块。 readline