[3.14] GH-59633: Clarify dest collisions in argparse docs (GH-150987) (#151194)

(cherry picked from commit 82cb7d4bf6)
This commit is contained in:
Savannah Ostrowski 2026-06-09 10:25:41 -07:00 committed by GitHub
parent a33c6a1dab
commit 4ab21ec0ce
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1363,6 +1363,10 @@ behavior::
>>> parser.parse_args('--foo XXX'.split())
Namespace(bar='XXX')
Multiple arguments may share the same ``dest``. By default, the value from the
last such argument given on the command line wins. Use ``action='append'`` to
collect values from all of them into a list instead. For conflicting *option
strings* rather than ``dest`` names, see conflict_handler_.
.. _deprecated:
@ -1758,6 +1762,11 @@ Subcommands
present, and when the ``b`` command is specified, only the ``foo`` and
``baz`` attributes are present.
If a subparser defines an argument with the same ``dest`` as the parent
parser, the two share a single namespace attribute, so the parent's value
won't be retained. Users should give them distinct ``dest`` values to
keep both.
Similarly, when a help message is requested from a subparser, only the help
for that particular parser will be printed. The help message will not
include parent parser or sibling parser messages. (A help message for each