【发布时间】:2021-10-14 03:59:00
【问题描述】:
如果我要求用户输入,Python 会让我使用箭头键来移动我输入的内容,并在必要时进行更改。比如运行下面的程序时
user_input = input("file name -> ")
print(user_input)
我可以用左箭头返回,把'G'改成'g'
file name -> thisIsAVeryLonGFileName.txt
然后当我点击 Enter 时,它会打印出来
thisIsAVeryLongFileName.txt
有没有办法提示用户输入已经提供的默认响应,然后使用户能够使用箭头键修改默认响应,而不必输入整个响应?基本上,事情应该像上面那样工作,但用户不必在最初输入任何内容(而是由程序提供)。
【问题讨论】:
-
这能回答你的问题吗? How can I edit an inputed text in python
-
python 的
input使用终端的文本输入,因此在 windows 上它是 cmd 负责该行为,而在 MacOS 上它是终端。 (linux上的bash或其他)。这意味着 python 无法自定义它的工作方式。您可以做的最接近的事情是使用curses库来更全面地控制终端窗口 -
-
有多种软件包可以提供良好的用户体验,例如PyInputPlus.
-
您也可以使用
readline库。