我似乎无法在python中使用自定义的autocomplete

2024-04-24 00:15:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难理解为什么我可以得到自定义自动完成(使用“标签”)工作。我发现了几个代码示例,都涉及基本相同的核心代码(一些更复杂,一些更少……)。下面是我看到的一个简单的代码示例。你知道吗

import readline
COMMANDS = ['extra', 'extension', 'stuff', 'errors',
            'email', 'foobar', 'foo']

def complete(text, state):
    for cmd in COMMANDS:
        if cmd.startswith(text):
            if not state:
                return cmd
            else:
                state -= 1

readline.parse_and_bind("tab: complete")
readline.set_completer(complete)
raw_input('Enter section name: ')

当我尝试执行代码时,我只得到标准的自动完成(python命令/函数)。你知道吗

例如:在上面的例子中,当我这样做时:

"Enter a section: " ext<TAB>

我得到的是“extract”(一个python命令)而不是“extension”(上面列表中的python命令之一)。你知道吗


Tags: 代码text命令cmd示例readlineifextension