I'm using the argparse
module.
My script need four arguments: arg1
, arg2
, group_arg1
, group_arg2
. arg1
and arg2
are required. group_arg1
and group_arg2
are grouped and the group is optional.
My code:
parser = argparse.ArgumentParser(description='Test.')
parser.add_argument('--arg1', type=str, required=True)
parser.add_argument('--arg2', type=str, required=True)
test_group = parser.add_argument_group(title='Grouped Arguments') # Need to be optional
test_group.add_argument('--group_arg1', type=str, required=True)
test_group.add_argument('--group_arg2', type=str, required=True)
How to set a group optional which contains several required arguments?
For example:
Users must pass in --arg1 xx --arg2 xx
or --arg1 xx --arg2 xx --group_arg1 xx --group_arg2 xx
Case --arg1 xx --arg2 xx --group_arg1 xx
is not allowed.