Nathan
Nathan

Reputation: 7032

Python: Get user input by letting user edit default value

I've got a script that pulls text from a Web server. I want to give the user (me) an opportunity to edit that text so they can select which part to keep. Ideally, it would be something like this:

editedText= raw_input(defaultText)

So, defaultText is printed, the user edits it and presses enter, and the text as they've edited is assigned to editedText.

Is there a way to do this?
Thanks!

Upvotes: 2

Views: 2221

Answers (1)

x10
x10

Reputation: 3834

Yes, there is a way. Use 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

Note that this is not a terribly portable solution, and I've only tested it on Linux :)

Upvotes: 4

Related Questions