2011-06-14 180 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