python实现linux底层命令行

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

 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