組み込みのinput()関数を介してユーザーから情報を取得するPythonスクリプトがあります。
私の質問は、バックスペースキーと矢印キーが正しく機能しない理由と、意図したとおりに機能するように修正するにはどうすればよいかということです。
私が抱えている問題の簡単な例...
#!/usr/bin/env python3
while 1:
x=input("enter integer: ")
y=int(x)*17
print(y)
使用例を示します。
./tester
enter integer: 3
51
enter integer: 17
289
enter integer: 172^[[D^[[D^H
Traceback (most recent call last):
File "./tester", line 4, in <module>
y=int(x)*17
ValueError: invalid literal for int() with base 10: '172\x08'
矢印キーとバックスペースを使用して「1」を削除しようとすると、左に移動する2つのスペースを削除して「1」を削除する代わりに^ [[D ^ [[D ^ Hが表示され、値がプログラムをクラッシュさせました。
すべてのキーが意図したとおりに機能するようにこれを修正するにはどうすればよいですか?