3

我正在尝试让退格键在我拥有的 python 脚本中工作。基本上,脚本中的代码类似于:

print("Please type the character 'h':")
choice = raw_input()
if choice == 'h':
        print("Thanks.")
else:
        print("You input the wrong character.")

现在,显然,这是一个玩具脚本,但我很难raw_input()做我想做的事。例如,如果我运行脚本,输入a,然后意识到我输入了错误的字符,所以按退格键,我得到:

Please type the character 'h':
a^H

但是,如果我键入^?,它会转换为正确的命令:

Please type the character 'h':
<<< CURSOR HERE

所以,我的问题是:我认为这与我的 linux 环境有关 - 即我认为我需要加载一个键盘映射,告诉 linux 我希望它在^?按下退格键时输出,但我不知道为什么它似乎适用于所有其他程序(甚至是 python 解释器,令人惊讶的是 - 如果我手动将该代码放入 python 解释器,它会按预期工作!)

4

1 回答 1

2

你用的是什么终端程序?它可能有一个设置,您可以使用它来控制退格键的解释方式。

在 gnome-terminal 中,如果单击,您可以在按下退格键时 Edit>Profile Preferences>Compatibility告诉 gnome-terminal 发送而不是 Ctrl-h。ASCII DEL在此处输入图像描述


否则,我认为您可以使用类似的方法修复您的键盘映射

xmodmap -e "keycode 22 = BackSpace"

然而,我的记忆已经生疏了。有关详细信息,请参阅HOWTO和/或本指南

于 2012-01-22T02:03:41.190 回答