自定义自动完成cmd模块使用raw

我有一个使用Python 2.7和Cmd模块的项目。

我使用complete_ *方法完成了使用现有命令的选项卡。

但是,我想稍微扩展一下,例如我们有一个叫做'ask'的命令。 在使用raw_input之后,我有一些问题,而不是将所有内容都放在一行上。

    def do_ask(self,args):
    name = raw_input('What is your name: ')
    bird = raw_input('What is your favourite Bird: ')
    reptile = raw_input('What is the best reptile: ')

    print 'I like %s too!' % reptile

如果我使用'complete_ask',只有当'ask'这个单词被预置在答案中时,它才会起作用,在上面的例子中,我必须将我最喜欢的爬行动物设置为“ask gecko”,而不是壁虎。

理想情况下,我将使用的三个问题中每一个的标签完整字典都将改变。

我不是readline(或Python)方面的专家,所以我不确定我是否利用这里找到的例子(如在其他问题中找到的例子),如果它会打破Cmd模块的现有选项卡完成。

简而言之,我如何为每个raw_input完成一个自定义选项卡,而无需再次输入命令?

对不起 - 新来这里如果我不清楚我的坏处。

我应该补充一点 - 我们可以假设我有三个词典,其中包含我希望用于制表符的词语。

链接地址: http://www.djcxy.com/p/9665.html

上一篇: custom autocomplete for cmd module using raw

下一篇: How to convert Swift 3 output of readLine() to Integer?