使Python的argparse接受单字符缩写为subparsers?

时间:2012-11-28 15:54:07

标签: python command-line argparse

我正在使用argparse优秀的subparser系统来创建一个接受许多不同命令的命令行程序。根据我的阅读,argparse在明确无误时自动接受参数的单字符缩写。我想让它为subparsers做同样的事情。如果我像这样设置我的subparser:

    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的明确缩写。但事实并非如此。

有什么想法吗?

1 个答案:

答案 0 :(得分:11)

从argparse文档中可以看出它支持subparser的这种自动缩写并不明确,但你可以显式设置这样的别名:

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

另一方面,参数缩写为supported