I want my program to accept two modes:
myprogram mode1 --m_p 12 --m_q 13 --m_r 14
myprogram mode2 --n_p 15 --n_q 16 --n_r 17
and I wrote
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers()
m = subparsers.add_parser('mode1')
m.add_argument("--m_p", type=str, required=True)
m.add_argument("--m_q", type=str, required=True)
m.add_argument("--m_r", type=str, required=True)
n = subparsers.add_parser('mode2')
n.add_argument("--n_p", type=str, required=True)
n.add_argument("--n_q", type=str, required=True)
n.add_argument("--n_r", type=str, required=True)
Now I want mode mode1
be default optional, i.e. if I run
myprogram mode1 --m_p 12 --m_q 13 --m_r 14
it will do the same as
myprogram --m_p 12 --m_q 13 --m_r 14
How this can be done?