是否有可能在python(2.7)中添加子分析器时指定要执行哪个子命令时不需要完全匹配?有谁知道如何做到这一点?它已经对长选项进行了前缀匹配,例如--my-long-option
可以指定为--my-l
,只要它是所有其他选项中的唯一前缀。python argparse:子解析器上的前缀或智能匹配
例如,我想有一个像 foo apple foo banana foo carrot
命令我在哪里可以只需指定foo ap
使用foo apple
子分析器。
如果我添加使用记录的方案,这些subparsers,这是行不通的,即
sub = parser.add_subparsers(help='commands')
apple = sub.add_parser('apple', ...)
banana = sub.add_parser('banana', ...)
carrot = sub.add_parser('carrot', ...)
这需要指定完整的子命令名称。
可以嵌套子分析器。你可以有一个'foo'分解器,它内部有'苹果,香蕉和胡萝卜'分解器。 – hpaulj