诅咒 KEY_RIGHT 无法识别
curses KEY_RIGHT not recognised
我正在努力了解 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)
getkey
returns key 转换为字符串,而 curses.KEY_RIGHT
是整数。有两种方法可以继续:
- 如果您将
win.getkey()
替换为 win.getch()
,程序将按照您的预期进行(并打印 else
情况下的整数)。您将与 ord('q')
(又是一个整数)进行比较,以识别试图退出的用户。
- 用
key == "KEY_RIGHT"
替换 key == curses.KEY_RIGHT
也可以解决问题。
howto 详细说明了 getkey
和 getch
之间的区别。
我正在努力了解 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)
getkey
returns key 转换为字符串,而 curses.KEY_RIGHT
是整数。有两种方法可以继续:
- 如果您将
win.getkey()
替换为win.getch()
,程序将按照您的预期进行(并打印else
情况下的整数)。您将与ord('q')
(又是一个整数)进行比较,以识别试图退出的用户。 - 用
key == "KEY_RIGHT"
替换key == curses.KEY_RIGHT
也可以解决问题。
howto 详细说明了 getkey
和 getch
之间的区别。