Python2.7 получает raw_input и устанавливает значение по умолчанию:
Поместите это в файл с именем a.py:
import readline
def rlinput(prompt, prefill=''):
readline.set_startup_hook(lambda: readline.insert_text(prefill))
try:
return raw_input(prompt)
finally:
readline.set_startup_hook()
default_value = "an insecticide"
stuff = rlinput("Caffeine is: ", default_value)
print("final answer: " + stuff)
Запустите программу, онаостанавливает и дает пользователю следующее:
el@defiant ~ $ python2.7 a.py
Caffeine is: an insecticide
Курсор находится в конце, пользователь нажимает клавишу возврата, пока «инсектицид» не исчезнет, что-то вводит, затем нажимает ввод:
el@defiant ~ $ python2.7 a.py
Caffeine is: water soluable
Программа завершается следующим образом, окончательный ответ получает то, что набрал пользователь:
el@defiant ~ $ python2.7 a.py
Caffeine is: water soluable
final answer: water soluable
Эквивалентно выше, но работает в Python3:
import readline
def rlinput(prompt, prefill=''):
readline.set_startup_hook(lambda: readline.insert_text(prefill))
try:
return input(prompt)
finally:
readline.set_startup_hook()
default_value = "an insecticide"
stuff = rlinput("Caffeine is: ", default_value)
print("final answer: " + stuff)
Подробнее о том, что здесь происходит:
https://stackoverflow.com/a/2533142/445131