以下是代码段 -
parser = argparse.ArgumentParser()
#External Modules
parser.add_argument('--foo', action='store_true', dest='FOO_OPTION', help='builds foo')
parser.add_argument('--bar', action='store_true', dest='BAR_OPTION', help='builds bar')
parser.add_argument('--xyz', action='store_true', dest='XyZ_OPTION', help='builds xyz')
调用命令
program.py --foo
program.py --bar
program.py --xyz
完美无缺。
然而,还有另一个强制性争论--foo like
program.py --foo -d /usr/local/include
这个额外的争论仅适用于--foo。如何以最简单的方式实现这一目标?
答案 0 :(得分:0)
您可以使用nargs
参数,但需要注意。
例如,
parser.add_argument('--foo', nargs=2)
args = parser.parse_args()
print(args.foo)
然后,python program.py --foo bar baz
提供['bar', 'baz']
。
需要注意的是,由于破折号,您无法使用-d
作为foo的值。