我在3个参数中互斥。我想使一个新的强制性子命令可用于“ -a”参数,并且该参数仅可用于“ -a”参数。
做到这一点的最佳方法是什么?我尝试搜索并阅读此argparse docs,但尚未弄清楚。
parser = argparse.ArgumentParser(prog='med-tool test', description='med-tool')
group = parser.add_mutually_exclusive_group(required=True)
parser.add_argument('-f', '--foo')
group.add_argument('-a', '--add', help ="Add device", metavar='')
group.add_argument('-d', '--get', help ="Get device", metavar='')
group.add_argument('-r', '--get', help ="Read device", metavar='')
args = parser.parse_args()
答案 0 :(得分:2)
只需在ctrl + F5
中添加required=True
。
group.add_argument()
在链接的文档中,第15.4.3段对此进行了说明。 add_argument()方法和here。
我不确定这是否是您真正想要的,因为在互斥组中添加必需的参数没有意义。 您可能要将其修改为:
group.add_argument('-a', '--add', help ="Add device", metavar='', required=True)