Wie kann ich Subparser-Argumente in einem separaten Namespace mit argparse haben?

Ich habe folgenden Testcode

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()

Dies definiert zwei Unterparser mit unterschiedlichen Argumenten. Wenn ich den Testcode als anrufe

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

Ich bekomme das erwartete Ergebnis

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

Was ich stattdessen haben möchte, sind die Werte von jedem Subparser in einem separaten Namespace oder Diktat, so etwas wie

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

so dass die Argumente von jedem Subparser logisch getrennt von den Argumenten vom Hauptparser sind (alsverbose in diesem Beispiel).

Wie kann ich das erreichen, mit den Argumenten für jeden Subparser in dergleich Namespace (subparseargs im Beispiel).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage