设置 completekey=None 删除向上箭头功能
Setting completekey=None removes up-arrow functionality
我正在尝试使用 Python 中的 cmd
库编写一个小型 REPL。它提供的功能之一是自动完成制表符,这是我不想要的。
幸运的是,文档提到了 "If completekey is not None and readline is available, command completion is done automatically." 所以我在实例化我的 cmd.Cmd
子类时设置了 completekey=None
,它起作用了。
然而,cmd
模块的主要功能,使用 readline
支持向上箭头历史,也被禁用,现在我回到 ^[[A
的。
为什么会这样,有解决办法吗?
仅当 completekey
具有非 None 值时才导入 readline
模块。看起来使用 readline
和禁用完成的唯一方法是指定一个什么都不做的完成器。
class CmdSubclass(Cmd):
# Other configuration
# ...
def complete(self, *args):
pass
我正在尝试使用 Python 中的 cmd
库编写一个小型 REPL。它提供的功能之一是自动完成制表符,这是我不想要的。
幸运的是,文档提到了 "If completekey is not None and readline is available, command completion is done automatically." 所以我在实例化我的 cmd.Cmd
子类时设置了 completekey=None
,它起作用了。
然而,cmd
模块的主要功能,使用 readline
支持向上箭头历史,也被禁用,现在我回到 ^[[A
的。
为什么会这样,有解决办法吗?
仅当 completekey
具有非 None 值时才导入 readline
模块。看起来使用 readline
和禁用完成的唯一方法是指定一个什么都不做的完成器。
class CmdSubclass(Cmd):
# Other configuration
# ...
def complete(self, *args):
pass