我有一个python脚本,它通过内置的input()函数从用户那里获取信息。
我的问题是为什么退格键和箭头键无法正常工作,如何修复它以使它们按预期运行。
我遇到问题的一个简单例子......
#!/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'时,^ [[D ^ [[D ^ H出现而不是删除向左移动两个空格并删除'1',并且值使程序崩溃
如何解决这个问题,以便所有按键按预期运行?
答案 0 :(得分:13)
从标准库导入readline
模块。
它自动包装stdin。
答案 1 :(得分:0)