Подтвердить что ты не робот

Возможно ли предварительно заполнить вход() в интерфейсе командной строки Python 3?

Я использую Python 3.2 на Ubuntu 11.10 (Linux). Часть моего нового кода выглядит так:

text = input("TEXT=")

Возможно ли получить некоторую предопределенную строку после подсказки, чтобы я мог ее отрегулировать, если это необходимо? Это должно быть так:

python3 file
TEXT=thepredefinedtextishere

Теперь я нажимаю Backspace 3 раза

TEXT=thepredefinedtextish

Теперь я нажимаю Enter, а переменная text должна быть thepredefinedtextish

4b9b3361

Ответ 1

Если ваш интерпретатор Python связан с линией чтения GNU, input() будет использовать его. В этом случае должно работать следующее:

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