¿Cómo tener argumentos de sub-analizador en espacio de nombres separado con argparse?

Tengo el siguiente código de prueba

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--verbose", default = 0, type=int)

subparsers = parser.add_subparsers(dest = "parser_name")

parser_lan = subparsers.add_parser('car')
parser_lan.add_argument("--boo")
parser_lan.add_argument("--foo")

parser_serial = subparsers.add_parser('bus')
parser_serial.add_argument("--fun")

print parser.parse_args()

que define dos sub-analizadores, que tienen un conjunto diferente de argumentos. Cuando llamo al testcode como

tester.py  --verbose 3 car --boo 1 --foo 2

Me sale el resultado esperado

Namespace(boo='1', foo='2', parser_name='car', verbose=3)

Lo que quiero tener en su lugar son los valores de cada subparser en un espacio de nombres o dictado separados, algo como

Namespace(subparseargs={boo:'1', foo:'2'}, parser_name='car', verbose=3)

de modo que los argumentos de cada subparser estén separados lógicamente de los argumentos del analizador principal (comoverbose en este ejemplo).

¿Cómo puedo lograr esto, con los argumentos para cada subparser en elmismo espacio de nombressubparseargs en el ejemplo).

Respuestas a la pregunta(2)

Su respuesta a la pregunta