使用预先确定的文本启动raw_input()

Bre*_*kes 5 python raw-input

我希望能够从用户(通过raw_input()或模块)获得输入,并且能够自动输入可以添加,删除或修改的文本.我在javascript中知道当你使用提示时,你可以这样做

var = prompt("Enter your name: ","put name here")
Run Code Online (Sandbox Code Playgroud)

它将显示为:

Enter your name:
put name here
Run Code Online (Sandbox Code Playgroud)

这里'put name here'是在文本框中,并可以修改.我希望在shell环境(我使用unix)而不是窗口中实现它.

有什么办法吗?

哦,告诉我是否需要澄清我希望的更多内容.


我不认为你们明白我想做什么.

我基本上想要在输入中包含提示,但让用户能够退出提示/编辑它,如果他们想要的话.

该脚本可能用于简单的基于shell的单行文本编辑器和制表符完成类型的东西.

kin*_*all 3

在 UNIX 和类 UNIX 系统(例如 Mac OS X 和 Linux)上,您可以使用readline模块。在 Windows 上,您可以使用pyreadline

如果您按照 minitech 在他的评论中建议的方式进行操作,请编写一个小函数以使其更容易:

def input_default(prompt, default):
    return raw_input("%s [%s] " % (prompt, default)) or default

name = input_default("What is your name?", "Not Sure")
Run Code Online (Sandbox Code Playgroud)