Python 使用预先确定的文本启动原始输入()

Python 使用预先确定的文本启动原始输入(),python,raw-input,Python,Raw Input,我希望能够从用户那里获得输入(通过raw\u input()或一个模块),并且能够自动输入文本,用户可以添加、删除或修改这些文本。我知道在javascript中,当您使用提示符时,您可以像 var = prompt("Enter your name: ","put name here") 它将显示为: Enter your name: put name here 其中,“将名称放在此处”位于文本框中,可以修改。我希望在shell环境(我使用unix)中实现这一点,而不是在窗口中实现 有什么办

我希望能够从用户那里获得输入(通过
raw\u input()
或一个模块),并且能够自动输入文本,用户可以添加、删除或修改这些文本。我知道在javascript中,当您使用提示符时,您可以像

var = prompt("Enter your name: ","put name here")
它将显示为:

Enter your name:
put name here
其中,
“将名称放在此处”
位于文本框中,可以修改。我希望在shell环境(我使用unix)中实现这一点,而不是在窗口中实现

有什么办法吗

哦,告诉我,如果我需要澄清,我希望得到更多


我想你们不明白我想做什么

我基本上希望在输入中包含提示,但是如果用户愿意,可以将提示退格/编辑它


该脚本可能用于一个简单的基于shell的单行文本编辑器,以及一个制表符完成类型的东西。

在UNIX和类似UNIX的系统上,如Mac OS X和Linux,您可以使用该模块。在Windows上,您可以使用

如果您按照minitech在其评论中的建议进行操作,请编写一个简单的函数:

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

name = input_default("What is your name?", "Not Sure")

嗯,有点黑,但试试这个

窗口:

import win32com.client as win

shell = win.Dispatch("WScript.Shell").SendKeys("Put name here")
raw_input("Enter your name: ")
在Linux/Unix环境中,您可以使用
pyradline
readline
curses
库。您可以找到一种可能的解决方案:

这真的很难。考虑说<代码>输入您的名字[默认名称]:并插入<代码>默认名称< /代码>,如果输入是空字符串;这对于脚本来说是相当标准的。签出的可能重复。
def rlinput(prompt, prefill=''):
    readline.set_startup_hook(lambda: readline.insert_text(prefill))
    try:
        return raw_input(prompt)
    finally:
        readline.set_startup_hook()