Python 设置completekey=None将删除向上箭头功能
我正在尝试使用Python中的库编写一个小REPL。它提供的一个特性是自动完成制表符,这是我不想要的 幸运的是,文档中提到“如果completekey不是None,并且readline可用,那么命令完成会自动完成。”因此,当我实例化Python 设置completekey=None将删除向上箭头功能,python,python-3.x,read-eval-print-loop,Python,Python 3.x,Read Eval Print Loop,我正在尝试使用Python中的库编写一个小REPL。它提供的一个特性是自动完成制表符,这是我不想要的 幸运的是,文档中提到“如果completekey不是None,并且readline可用,那么命令完成会自动完成。”因此,当我实例化cmd.cmd子类时,我设置了completekey=None,这很有效 但是,cmd模块的主要功能,即使用支持向上箭头历史记录的readline,也被禁用,现在我回到^[[A上 为什么会发生这种情况,有解决方案吗?只有在completekey具有非None值时才会导
cmd.cmd
子类时,我设置了completekey=None
,这很有效
但是,cmd
模块的主要功能,即使用支持向上箭头历史记录的readline
,也被禁用,现在我回到^[[A
上
为什么会发生这种情况,有解决方案吗?只有在
completekey
具有非None值时才会导入readline
模块。使用readline
和禁用完成功能的唯一方法似乎是指定一个不执行任何操作的完成器
class CmdSubclass(Cmd):
# Other configuration
# ...
def complete(self, *args):
pass
只有当
completekey
具有非None值时,才会导入readline
模块。使用readline
和禁用完成功能的唯一方法似乎是指定一个不执行任何操作的完成器
class CmdSubclass(Cmd):
# Other configuration
# ...
def complete(self, *args):
pass
这可能是因为当
completekey=None
时,readline
模块从未加载(请参阅。您可以通过子类化cmd.cmd
,重写cmdloop
或重写complete
方法来解决此问题。这可能是因为当completekey=None
时,readline
模块从未加载(请参阅。您可以通过子类化cmd.cmd
,重写cmdloop
或重写complete
方法来解决此问题。这确实会阻止用户输入原始选项卡,但我想我可以接受。您还可以将completekey
设置为不需要经常使用的其他内容。这确实会影响您的工作。)事件一:输入原始选项卡,但我想我可以接受。您还可以将completekey
设置为不需要经常使用的其他内容。