2 回答
TA贡献1802条经验 获得超5个赞
因此,这已经被问过很多次了。简单的答案是“使用argparse,您不能这样做”。但是,这是简单的答案。您可以使用子解析器,因此:
import argparse
parser = argparse.ArgumentParser(description='My desc')
sub_parsers = parser.add_subparsers()
parser_a = sub_parsers.add_parser("a", help='a help')
parser_b = sub_parsers.add_parser("b", help='b help')
parser_b.add_argument("-c", dest='c', action='store_true',default=False,help='c help')
parser.parse_args()
然后,您将获得:
$ python parser -h
usage: parser [-h] {a,b} ...
My desc
positional arguments:
{a,b}
a a help
b b help
optional arguments:
-h, --help show this help message and exit
和:
$ python parser b -h
usage: parser b [-h] [-c]
optional arguments:
-h, --help show this help message and exit
-c c help
如果您喜欢问题中所述的论据,请看一下docopt,它看起来很可爱,应该按照您想要的去做。
添加回答
举报