我正在努力研究Python curses
的基础知识,并构建一个可检测箭头键按下的最小工作程序。
为什么在以下代码中似乎未检测到curses.KEY_RIGHT
?
import curses
def main(win):
win.nodelay(False)
key= ""
while key != "q":
key = win.getkey()
if key == curses.KEY_RIGHT:
win.addstr("You pressed RIGHT")
else:
win.addstr(str(key))
curses.wrapper(main)
答案 0 :(得分:1)
getkey
返回转换为字符串的键,而curses.KEY_RIGHT
是整数。有两种处理方式:
win.getkey()
替换为win.getch()
,则程序将执行您期望的操作(并在else
情况下打印整数)。您将与ord('q')
(再次是整数)进行比较,以识别试图退出的用户。key == curses.KEY_RIGHT
代替key == "KEY_RIGHT"
也可以解决问题。 howto在getkey
和getch
之间的区别更多。