python实现linux底层命令行 20C

主要代码实现tab。可以自动补全raw_input,不是自动补全函数。而是自动补全命令,向ls可以不全目录。求大神提供一个开源的库或者发一下代码

1个回答

 import readline

CMD = ['foo1', 'foo2', 'bar1', 'bar2', 'exit']

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 = raw_input('==> ')
    if cmd=='exit':
        break
    print(cmd)

https://segmentfault.com/q/1010000006090261

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问