私が持っている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 インタープリターに入れると、期待どおりに動作します!)