Python - 使用 get_wch 或 getkey 读取特殊密钥

Python - reading a special key with get_wch or getkey

假设我有以下设置:

import curses

window = curses.initscr()
curses.noecho()

while True:
    k = window.get_wch()
    print("k: ", k)

现在,根据文档,get_wch 应该 return 普通字符上的一个字符,特殊键上的一个整数。但是,当我 运行 上面的代码片段并按下向上箭头时,上面的循环会启动三次并给出三个单独的字符,而不是一个整数。当我使用 getkey 时也会发生同样的情况:三个字符而不是多字节字符串(正如文档所说应该 return)。我如何读取特殊密钥?这是一个错误,还是我错过了一些明显的东西?我正在 运行 宁 Linux 和 Python 3.6.1 上的代码,如果它重要的话。

你输出了一些东西,以便在下一个循环迭代中读取它! Flush/clear 打印后的输入…

import curses

window = curses.initscr()
curses.noecho()
window.keypad(True)  # Maybe not perfect, but a good start?

while True:
    k = window.get_wch()
    print(f'k: {k}')
    curses.flushinp()