7

我正在使用argparse's 优秀的子解析器系统来制作一个接受许多不同命令的命令行程序。根据我的阅读,argparse当参数明确时,会自动接受参数的单字符缩写。我想让它对子解析器做同样的事情。如果我像这样设置我的子解析器:

    foo_parser = subparsers.add_parser('foo')
    # ... set up arguments and handler ...

    bar_parser = subparsers.add_parser('bar')
    # ... set up arguments and handler ...

然后我希望解析器myprogram f arg0接受myprogram foo arg0. 但事实并非如此。

有任何想法吗?

4

1 回答 1

13

从 argparse 文档中不清楚它是否支持 subparser 的这种自动缩写,但您可以像这样显式设置别名:

foo_parser = subparsers.add_parser('foo', aliases=['f'])

另一方面,支持参数缩写。

于 2012-11-28T16:24:36.117 回答