Python: привязать функцию к клавише - PullRequest
8 голосов
/ 18 августа 2011

Я только начал изучать Python и пишу свою собственную функцию завершения табуляции для практики / веселья (так что никто не говорит мне нам rlcompleter).У меня возникли проблемы с тем, чтобы заставить Python вызывать функцию.Мой код:

import readline
def tab_completer():
    print readline.get_line_buffer()

readline.parse_and_bind("tab: tab_completer")
while True:
    raw_input("Prompt")

ожидаемый вывод: когда я нажимаю клавишу табуляции, он печатает то, что я набрал, но когда это не то, что на самом деле происходит, совет?

1 Ответ

2 голосов
/ 18 августа 2011

Попробуйте это:

import readline

def tab_completer(text, state):
    print "\ntext:", text

readline.parse_and_bind("tab: complete")
readline.set_completer(tab_completer)
raw_input('Prompt: ')

Вопрос Завершение табуляции в raw_input Python () (который был моей ссылкой) также может помочь.

...