argparse共存所需的args和subparsers

时间:2017-08-01 18:55:41

标签: python argparse

问题:我有一个解析器,其中包含1个必需的arg和一个subparser,它接受3个args,其中2个在调用该子解析器时是必需的

如下

代码:

parser.add_argument("-f", "--foo", type=str, required=True, help="foo help")
subparsers=parser.add_subparsers(help="Sub parsers")
mysubparser =  subparsers.add_parser("a", help="a subparser")
mysubparser.add_argument("-b", "--bar", type=str, required=True, help="bar help")
mysubparser.add_argument("-bz", "--baz", type=str, required=True, help="baz help")
mysubparser.add_argument("-bzg", "--bazinga", action="store_true", help="bazinga help")

我尝试了什么:
我的问题是 python myscript.py -f "hi" a -b "hi" -bz "hi"有效但python myscript.py a -b "hi" -bz "hi" -f "hi"没有。是否必须首先指定必需的args?我认为第一种方式看起来有点笨拙。有没有办法解决这个问题?

我希望两个版本都能正常运行。或者用这种方式做事的更好的替代方案

0 个答案:

没有答案