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()
假设我有以下设置:
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()