一些终端将^?
作为退格发送,其他一些终端将发送^H
. 大多数终端都可以配置为改变它们的行为。我不想处理所有可能的组合,但我想同时接受^?
并^H
作为 python 的退格键。
这样做
os.system("stty erase '^?'")
我会接受第一个选项
os.system("stty erase '^H'")
我会接受第二个,但第一个将不再可用。我想用
raw_input("userinput>>")
抓住输入。
我能够弄清楚的唯一方法是实现我自己的shell,它不适用于“基于原始的输入”,而是适用于“基于字符的输入”。
有更好(更快)的想法吗?