设置completekey = None会删除向上箭头功能

时间:2016-06-23 02:20:04

标签: python python-3.x read-eval-print-loop

我正在尝试使用Python中的cmd库编写一个小的REPL。它提供的功能之一是自动标签完成,我不想要。

幸运的是,文档提到“如果completekey不是None并且readline可用,则命令完成自动完成。”所以当我实例化我的completekey=None子类时,我设置了cmd.Cmd

但是,cmd模块的主要功能,即使用readline支持上箭头历史记录,也已停用,现在我又回到了^[[A的。

为什么会发生这种情况,是否有解决方案?

1 个答案:

答案 0 :(得分:2)

readline模块仅在completekey具有非None值时导入。看起来使用readline和禁用完成的唯一方法是指定一个无操作的完成者。

class CmdSubclass(Cmd):
    # Other configuration
    # ...

    def complete(self, *args):
        pass