I am trying to run a python script in the command-line and would like to parse multiple analyses command with different optional parameters e.g.:
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(help='commands')
# Analysis A
analysis_a_parser = subparsers.add_parser('analysis_a', help='description)
analysis_a_parser.add_argument('-flag1', action='store_true', default=False,
help='flag1 description')
analysis_a_parser.add_argument('-flag2', action='store_true', default=False,
help='flag2 description')
analysis_a_parser.add_argument('-flag3', action='store_true', default=False,
help='flag3 description')
# Analysis B
analysis_b_parser = subparsers.add_parser('analysis-b', help='description')
analysis_b_parser.add_argument('--Flag1', action='store_true', default=False,
help='flag1 description')
analysis_b_parser.add_argument('-Flag2', action='store_true', default=False,
help='flag2 description')
args = parser.parse_args()
After running the program on the command-line
$ python script.py analysis-a -flag1 analysis-b -flag2
it throws an error saying unrecognized arguments: analysis_b
Please could you explain how I can pass multiple commands and optional parameters.