我在 Ubuntu 11.10 (Linux) 上使用 Python 3.2。我的一段新代码如下所示:
text = input("TEXT=")
是否可以在提示后获取一些预定义的字符串,以便我可以根据需要进行调整?应该是这样的:
python3 file
TEXT=thepredefinedtextishere
现在我按 Backspace 3 次
TEXT=thepredefinedtextish
现在我按 Enter,变量
text
应该是 thepredefinedtextish
如果你的Python解释器与GNU readline链接,
input()
将使用它。在这种情况下,以下方法应该有效:
import readline
def input_with_prefill(prompt, text):
def hook():
readline.insert_text(text)
readline.redisplay()
readline.set_pre_input_hook(hook)
result = input(prompt)
readline.set_pre_input_hook()
return result
我认为您正在寻找更流畅但更简单的方法:
inputstring = input("Input your text here ('test' if ignored): ")
if inputstring == '' : inputstring = 'test'