Python получает raw_input, но вручную решает, когда строка сделана

Я хочу, чтобы кто-то ввел слова в консоли и автоматическое заполнение из списка, когда они нажимают клавишу "вкладки". Однако raw_input не возвратит строку, пока кто-то не совершает нападки [Входят].

Как я читаю символы в переменную, пока пользователь не совершает нападки [Входят]?

*Примечание: Я не хочу использовать import readline для автозавершения из-за проблем ОС.

5
задан atp 4 May 2010 в 09:21
поделиться

2 ответа

По этому вопросу есть официальный раздел часто задаваемых вопросов для Unix: http://www.python.org/doc/ faq / library / # how-do-i-get-a-single-keypress-at-a-a-a-time

Edit (скопировано из комментария Donal Fellows ниже): «Проблема в том, что терминал находится в «Приготовленный» режим по умолчанию (позволяющий простое редактирование строки), и чтобы клавиши были набраны по мере их набора, он должен быть переведен в «сырой» режим ». (Спасибо!)

5
ответ дан 14 December 2019 в 13:29
поделиться

При использовании * nix выберите на sys.stdin , чтобы дождаться символа, затем . read () it in. В Windows используйте msvcrt.kbhit () и msvcrt.getch () .

1
ответ дан 14 December 2019 в 13:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: