如何避免 Python 输入中的箭头键值?

Gag*_*ngh 5 python bash terminal input python-3.x

我在 Python 输入中使用input().

这仅在执行 Python 脚本期间发生。如果输入是从解释器中获取的,则不会发生这种情况。

我所指的箭头键值:为什么在 Ubuntu 中按箭头键时终端会显示“^[[A”“^[[B”“^[[C”“^[[D”?

脚本文件的内容:

s = input("Enter Something: ")
print(s)
Run Code Online (Sandbox Code Playgroud)

终端输出:

$ python input_example.py 
Enter Something: Now Pressing Left Arrow Key^[[D^[[D^[[D^[[D
Now Pressing Left Arrow Key
Run Code Online (Sandbox Code Playgroud)

我无法在写入输入时向左或向右导航(或说更改光标位置)导致箭头键值显示在输入中。有什么办法可以避免它们吗?Terminal 中,通常可以更改光标位置,与 Python 的input().

Ps 我不想更改 bash 中的任何设置,因为我正在尝试编写一个适用于所有控制台的脚本。我是菜鸟,很多东西看不懂。我希望这个社区可以帮助我。

小智 7

找到了防止这种情况的方法!你只需要导入 readline 模块

import readline
Run Code Online (Sandbox Code Playgroud)

这将使标准 input() 方法利用它的一些实用程序,启用正常的箭头键使用等。