python argparse - 强制子命令
python argparse - mandatory sub-command
我在互斥组中有 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()
只需在 group.add_argument()
中添加 required=True
。
group.add_argument('-a', '--add', help ="Add device", metavar='', required=True)
它在您链接的文档中有描述,第 15.4.3 段。 add_argument() 方法 和 here.
我不确定这是否真的是您想要的,因为在互斥组中添加必需参数没有意义。
您可能想将其修改为:
parser.add_argument('-a', '--add', help ="Add device", metavar='', required=True)
我在互斥组中有 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()
只需在 group.add_argument()
中添加 required=True
。
group.add_argument('-a', '--add', help ="Add device", metavar='', required=True)
它在您链接的文档中有描述,第 15.4.3 段。 add_argument() 方法 和 here.
我不确定这是否真的是您想要的,因为在互斥组中添加必需参数没有意义。 您可能想将其修改为:
parser.add_argument('-a', '--add', help ="Add device", metavar='', required=True)