2011-05-17 42 views
2

我有一个脚本从Web服务器中获取文本。我想让用户(我)有机会编辑该文本,以便他们可以选择要保留的部分。理想的情况下,这将是这样的:Python:通过让用户编辑默认值来获取用户输入

editedText= raw_input(defaultText) 

所以,defaultText打印,用户编辑它并按下回车键,因为他们已经编辑的文本被分配到editedText

有没有办法做到这一点?
谢谢!

+1

这个问题的重复:http://stackoverflow.com/questions/2533120/显示默认值为编辑python输入可能 – 2011-05-17 16:25:24

回答

4

是的,有一种方法。使用readline

import readline 

defaultText = 'I am the default value' 
readline.set_startup_hook(lambda: readline.insert_text(defaultText)) 
res = raw_input('Edit this:') 
print res 

注意,这不是一个十分便携的解决方案,而我只测试了它在Linux :)

+0

看起来不错;我一回到家就会测试一下。不过,我很好奇,是否有办法通过标准库(或者至少有更多的跨平台软件包)来解决这个问题。谢谢! – Nathan 2011-05-17 16:26:14

+0

也适用于windows。 – Marco 2011-05-17 16:27:43

+0

@Marco真的吗?链接文档的第一行:'Platforms:Unix'。 – Nathan 2011-05-17 16:29:40