Python raw_input() with an editable default value, using readline
OK, blogging this because I would have found it very useful today if somebody else had. Hopefully the title is enough to get love from the search engines.
import readline
def raw_input_with_default(prompt, default):
def pre_input_hook():
readline.insert_text(default)
readline.redisplay()
readline.set_pre_input_hook(pre_input_hook)
try:
return raw_input(prompt)
finally:
readline.set_pre_input_hook(None)