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()