raw_input识别^?但不识别^H
我在尝试让我的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解释器,它就能正常工作!)却能正常运行。