python - 如何让Python get_wch捕获Enter键?

标签 python ncurses python-3.3

当我使用时

ch = wnd.getch()

在Python下的curses中,我可以捕获wnd.getch返回10的回车键。但是当我替换getch时它不起作用> 通过 get_wchget_wch 有什么问题吗?

最佳答案

函数getchget_wch有不同的接口(interface):

  • getch 返回一个字符
  • get_wch 返回一个状态代码,并通过作为参数传递的指针设置一个宽字符。

它们使用不同的接口(interface),因为特殊键(例如 KEY_HOME)可以用 getch 处理为超出“正常”(8 位)范围的“额外”字符) 人物。您无法使用宽字符执行此操作(不太容易,因为宽字符范围的结尾不太明确),因此 get_wch 使用状态代码来判断它通过指针设置的值是否为宽字符或特殊键。

虽然手册页足够清楚,但Python开发人员在将该功能添加到curses包装器时并没有注意到这种区别。 Python 文档中的描述对应于getch,而不是get_wch:

Get a wide character. Return a character for most keys, or an integer for function keys, keypad keys, and other special keys.

New in version 3.3.

进一步阅读:

关于python - 如何让Python get_wch捕获Enter键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19191837/

相关文章:

python - 如何检查python panda中特定范围内的日期时间列?

python - 基本 UDP 和 TCP 程序

Python,函数中的嵌套循环break - pass - continue - return

python - 当我的 multiprocessing.pool.apply_async 次数超过我的处理器时会发生什么

python - 掌握就地操作的基础知识

python - 如何在 Python 2.7 中线程化多个子进程实例?

c - 如何为 ncurses 直方图程序缩放图形最小值

c++ - 无法从新函数中修改类变量

c - Ncurses 错误鼠标坐标超过 222 宽度或高度终端

返回索引的元组/列表列表中的 Python 最快搜索