【发布时间】:2014-08-08 14:47:31
【问题描述】:
我正在使用 Python 中的 cmd.Cmd 类为我的程序提供一个简单的 readline 接口。
自包含示例:
from cmd import Cmd
class CommandParser(Cmd):
def do_x(self, line):
pass
def do_xy(self, line):
pass
def do_xyz(self, line):
pass
if __name__ == "__main__":
parser = CommandParser()
parser.cmdloop()
按两次 Tab 将显示可能性。再次按 Tab 也一样。
我的问题是,如何获得在第三次按标签时循环的选项?在 readline 术语中,我认为这称为 Tab: menu-complete,但我看不出如何将其应用于 Cmd 实例。
我已经试过了:
readline.parse_and_bind('Tab: menu-complete')
在实例化解析器实例之前和之后。没有运气。
我还尝试将"Tab: menu-complete" 传递给Cmd 构造函数。这里也没有运气。
有人知道它是怎么做的吗?
干杯!
【问题讨论】:
-
似乎有一个方法
Cmd.complete你可能可以覆盖,但不要问我如何...... -
这个库看起来不像你想要的,你可以直接使用readline吗?