2016-02-29 42 views
0

我目前正在使用Python的CMD模塊創建一個命令行界面。這個命令行在表單中爲各種函數提供了多個參數:「command parametre1 = value1 parametre2 = value2」等等。我想要爲參數名稱和命令名稱設置TAB自動完成功能。委託名稱自動完成已完成,但正在與參數化自動完成相沖突。 幫助Python CMD自動完成

+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