我想让解析器像 cmd [-a xxx -b xxx] -c xxx -d xxx
当使用-a
时,我希望也使用-b
。同样,如果使用 -b
,则也必须使用 -a
。 -a
和 -b
都不用也没关系。
我该怎么做?我尝试过自定义操作,但效果不佳。
最佳答案
更好的设计是有一个带有两个参数的选项:
parser.add_argument('-a', nargs=2)
然后您要么指定带有 2 个参数的选项,要么根本不指定它。
$ script -a 1 2
或
$ script
自定义操作(或后处理)可以将元组 args.a
拆分为两个单独的值 args.a
和 args.b
。
关于python - argparse,两个参数相互依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967790/