Автодополнение вкладки Python в скрипте - PullRequest
0 голосов
/ 03 сентября 2018

Как добавить завершение табуляции в мой код Python (3)? Допустим, у меня есть этот код:

test = ("January", "February", "March"...)
print(test)
answer = input("Please select one from the list above: ")

Я хочу, чтобы пользователь набрал: Jan [TAB] и за это до автозаполнения до января. Есть ли простой способ сделать это? Модули и скрипты разрешены. Примечание: список будет длинным, со словами не из словаря.

1 Ответ

0 голосов
/ 03 сентября 2018

Если вы используете Linux, вы можете использовать readline, если Windows, вы можете использовать pyreadline, вам необходимо установить его, если не имеют:

try:
    import readline
except ImportError:
    import pyreadline as readline

CMD = ["January", "February", "March"]

def completer(text, state):
    options = [cmd for cmd in CMD if cmd.startswith(text)]
    if state < len(options):
        return options[state]
    else:
        return None

readline.parse_and_bind("tab: complete")
readline.set_completer(completer)

while True:
    cmd = input("Please select one from the list above: ")
    if cmd == 'exit':
        break
    print(cmd)
...