以下是代码段 -
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,例如
program.py --foo -d /usr/local/include
这个额外的争论仅适用于 - foo。如何以最简单的方式实现这一目标?
您可以使用警告使用nargs
参数。
例如,
parser.add_argument('--foo', nargs=2)
args = parser.parse_args()
print(args.foo)
然后,python program.py --foo bar baz
给出['bar', 'baz']
。
警告是,由于破折号,您无法将-d
用作FOO的值。