我使用 input()
在 Python 输入中获取箭头键值.
这仅在执行 Python 脚本期间发生。如果输入是从解释器中获取的,则不会发生这种情况。
我所指的箭头键值:Why does the terminal show "^[[A" "^[[B" "^[[C" "^[[D" when pressing the arrow keys in Ubuntu?
脚本文件内容:
s = input("Enter Something: ")
print(s)
终端输出:
$ python input_example.py
Enter Something: Now Pressing Left Arrow Key^[[D^[[D^[[D^[[D
Now Pressing Left Arrow Key
我无法在写入输入时向左或向右导航(或说更改光标位置)导致箭头键值显示在输入中。 有什么办法可以避免它们吗? 在终端中,通常可以改变光标位置,这个问题不会像 Python 的
input()
那样发生。 .附言我不想更改 bash 中的任何设置,因为我正在尝试编写一个适用于所有控制台的脚本。我是菜鸟,很多东西看不懂。我希望这个社区可以帮助我。
最佳答案
找到了防止这种情况的方法!
你只需要导入 readline 模块
import readline
这将使标准 input() 方法利用它的一些实用程序,启用正常的箭头键使用等等。
关于python - 如何避免 Python 输入中的箭头键值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61025973/