gpt4 book ai didi

python - 组中组 ArgParse

转载 作者:太空狗 更新时间:2023-10-30 00:54:32 25 4
gpt4 key购买 nike

所以我正在使用 argparse,我正在尝试创建一些我似乎无法在任何地方找到解决方案的东西。

我正在尝试做 [A | [BC]]。所以我有 A(B 和 C)

编辑所以一些代码示例是

parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group(required=False)
group.add_argument("-a")
more = group.add_mutually_exclusive_group()
more.add_argument("-b")
more.add_argument("c")

然而,这最终给了我 [A | [乙 | C]]

最佳答案

import argparse

parser = argparse.ArgumentParser(description='test group')
subparsers = parser.add_subparsers(help='sub-commands help')
sp = subparsers.add_parser('A', help='A command')
sp.set_defaults(cmd = 'A')
sp = subparsers.add_parser('B', help='B command')
sp.set_defaults(cmd = 'B')
sp.add_argument('C', help='C option')

args = parser.parse_args()

if (args.cmd == 'A'):
print("running A mode")
else:
print("running B mode with C=%s" % args.C)

这是执行日志:

$ python test.py A
running A mode
$ python test.py B
usage: test.py B [-h] C
$ python test.py B some
running B mode with C=some

互斥组适用于用户必须从给定集合中选择至少一个选项,或者如果 required=True 只有一个选项的情况。

关于python - 组中组 ArgParse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37311550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com