2016-02-29 2 views
0

В настоящее время я работаю над созданием интерфейса командной строки с использованием CMD-модуля Python. Эта командная строка принимает несколько аргументов для различных функций в форме: «command parametre1 = value1 parametre2 = value2» и т. Д. Я хочу для установки функции автозаполнения TAB для имен параметров вместе с именем команды. Имя автомата Automomplete сделано, но борется с автокомплексом Parametre. ПомощьPython CMD autocomplete

+0

Это не ясно, какие части проблем решены, и какие из них являются нерешенными, ни где именно вам иметь проблему. –

ответ

0

Я думаю, что это делает то, что вы хотите сделать:

import cmd 


class MyCmd(cmd.Cmd): 
    def do_command(self, line): 
     'do_command: [parametre[1,2]=xxx]' 

    def complete_command(self, text, line, begidx, endidx): 
     return [i 
       for i in ('parametre1=', 'parametre2=') 
       if i.startswith(text)] 

    def do_EOF(self, line): 
     'exit the program. Use Ctrl-D (Ctrl-Z in Windows) as a shortcut' 
     return True 

if __name__ == "__main__": 
    myCmd = MyCmd() 
    myCmd.cmdloop("Welcome! What is your command?") 

Ссылка: https://wiki.python.org/moin/CmdModule#Completion