#!/usr/bin/python3 from argparse import ArgumentParser parser = ArgumentParser(description="A simple test case") subparser = parser.add_subparsers(help="Subcommands") subparser.add_parser("create", help="Stub create command") subparser.add_parser("delete", help="Stub delete command") parser.add_argument("vms", nargs="+", type=str, help="Names of the VM to work on") # By the help string generated, the given command format is : # usage: argparse_error.py [-h] {create,delete} ... vms [vms ...] # which obviously does not work parsed_args = parser.parse_args(["create", "test", "test2"])