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