Как заставить python, программу командной строки автозаполнять произвольные вещи НЕ интерпретатором

Следуйте cmd documentation и все будет хорошо

import cmd

addresses = [
    'here@blubb.com',
    'foo@bar.com',
    'whatever@wherever.org',
]

class MyCmd(cmd.Cmd):
    def do_send(self, line):
        pass

    def complete_send(self, text, line, start_index, end_index):
        if text:
            return [
                address for address in addresses
                if address.startswith(text)
            ]
        else:
            return addresses


if __name__ == '__main__':
    my_cmd = MyCmd()
    my_cmd.cmdloop()

Вывод python-shell для вкладки -> вкладка unix -> отправить -> вкладка python -> вкладка -> f -> вкладка

(Cmd)
help  send
(Cmd) send
foo@bar.com            here@blubb.com         whatever@wherever.org
(Cmd) send foo@bar.com
(Cmd)

python

linux

unix

command-line

autocomplete

2022-11-18T06:26:30+00:00
Вопросы с похожей тематикой, как у вопроса:

Как заставить python, программу командной строки автозаполнять произвольные вещи НЕ интерпретатором