#!/usr/bin/env python3
import argparse
parser = argparse.ArgumentParser()
subparsers = parser.add_subparsers(dest="subparser")
parent_parser = argparse.ArgumentParser(add_help=False)
parent_parser.add_argument("--payload")
a_parser = subparsers.add_parser("a", parents=[parent_parser],)
a_parser.set_defaults(payload="AAAAA")
b_parser = subparsers.add_parser("b", parents=[parent_parser])
b_parser.set_defaults(payload="BBBBB")
args = parser.parse_args()
print(f"{args=}")
Output
> ./test.py a
args=Namespace(subparser='a', payload='BBBBB')
> ./test.py b
args=Namespace(subparser='b', payload='BBBBB')
versions
> python3 --version
Python 3.12.3
> python3 -c "import argparse; print(argparse.__version__)"
1.1
Output
versions