不确定我是否完全理解您的要求,但看看这个示例是否对您有帮助:
from argparse import ArgumentParser
parser = ArgumentParser()
subparsers = parser.add_subparsers(help="sub-commands")
a_parser = subparsers.add_parser("ARG1")
a_parser.add_argument("-1", "--opt1", action="store_true", required=False)
a_parser.add_argument("-2", "--opt2", action="store_true", required=False)
a_parser.add_argument("-3", "--opt3", action="store_true", required=False)
a_parser.add_argument("-4", "--opt4", action="store_true", required=False)
subparsers2 = a_parser.add_subparsers(help="ARG1-ARG2 sub-commands")
ab_parser = subparsers2.add_parser("ARG2")
ab_parser.add_argument("-1", "--opt1", action="store_true", required=False)
ab_parser.add_argument("-2", "--opt2", action="store_true", required=False)
b_parser = subparsers.add_parser("ARG2")
b_parser.add_argument("-3", "--opt3", action="store_true", required=False)
b_parser.add_argument("-4", "--opt4", action="store_true", required=False)
argument = parser.parse_args()
输出:
± % python recovery_tools/test.py ARG1 --help
usage: test.py ARG1 [-h] [-1] [-2] [-3] [-4] {ARG2} ...
positional arguments:
{ARG2} ARG1-ARG2 sub-commands
optional arguments:
-h, --help show this help message and exit
-1, --opt1
-2, --opt2
-3, --opt3
-4, --opt4
± % python recovery_tools/test.py ARG1 ARG2 --help
usage: test.py ARG1 ARG2 [-h] [-1] [-2]
optional arguments:
-h, --help show this help message and exit
-1, --opt1
-2, --opt2
± % python recovery_tools/test.py ARG2 --help
usage: test.py ARG2 [-h] [-3] [-4]
optional arguments:
-h, --help show this help message and exit
-3, --opt3
-4, --opt4
(new-recovery-tools-env)