Python - Argument Parser

Package argparse is a convenient utility for argument parsing, in which class ArgumentParser is defined. Concerning its usage, a simple example can be given as follows.

from argparse import ArgumentParser, ArgumentDefaultsHelpFormatter

args = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter, conflict_handler='resolve')

# Arguments in the root
args.add_argument("--ARGUMENT1", type=int, metavar='', help="DESCRIPTION OF ARGUMENT1", default=0)

# Arguments in groups
grp1 = args.add_argument_group("GROUP1", "DESCRIPTION OF GROUP1")
grp1.add_argument("--ARGUMENT1INGROUP1", type=float, metavar='', help="DESCRIPTION OF ARGUMENT1 IN GROUP1", default=0)
grp1.add_argument("--ARGUMENT2INGROUP1", type=int, nargs=2, metavar='', help="DESCRIPTION OF ARGUMENT2 IN GROUP1", default=[0, 1])
grp1.add_argument("--ENABLEFEATURE1", help="DESCRIPTION OF ENABLEFEATURE1 IN GROUP1", action="store_true")
...
grp2 = args.add_argument_group("GROUP2", "DESCRIPTION OF GROUP2")
...

# Parse the arguments
para = args.parse_args()

# Use the arguments parsed
arg1 = para.ARGUMENT1 # arg1 is an integer
arg1_grp1 = para.ARGUMENT1INGROUP1 # arg1_grp1 is a float
arg2_grp1 = para.ARGUMENT2INGROUP1 # arg2_grp2 is a list comprising of 2 integers
...
feature1_enabler = para.ENABLEFEATURE1 # feature1_enabler is a boolean