问题:我有一个解析器,其中包含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?我认为第一种方式看起来有点笨拙。有没有办法解决这个问题?
我希望两个版本都能正常运行。或者用这种方式做事的更好的替代方案