我正在使用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
的明确缩写。但事实并非如此。
有什么想法吗?
答案 0 :(得分:11)
从argparse文档中可以看出它支持subparser的这种自动缩写并不明确,但你可以显式设置这样的别名:
foo_parser = subparsers.add_parser('foo', aliases=['f'])
另一方面,参数缩写为supported。