Commit f3114532 authored by Eli Bendersky's avatar Eli Bendersky

Issue #19814: Clarify argparse's docs w.r.t prefix matching

parent 22d0418f
...@@ -1371,12 +1371,14 @@ argument:: ...@@ -1371,12 +1371,14 @@ argument::
>>> parser.parse_args(['--', '-f']) >>> parser.parse_args(['--', '-f'])
Namespace(foo='-f', one=None) Namespace(foo='-f', one=None)
.. _prefix-matching:
Argument abbreviations Argument abbreviations (prefix matching)
^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The :meth:`~ArgumentParser.parse_args` method allows long options to be The :meth:`~ArgumentParser.parse_args` method allows long options to be
abbreviated if the abbreviation is unambiguous:: abbreviated to a prefix, if the abbreviation is unambiguous (the prefix matches
a unique option)::
>>> parser = argparse.ArgumentParser(prog='PROG') >>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('-bacon') >>> parser.add_argument('-bacon')
...@@ -1852,6 +1854,12 @@ the populated namespace and the list of remaining argument strings. ...@@ -1852,6 +1854,12 @@ the populated namespace and the list of remaining argument strings.
>>> parser.parse_known_args(['--foo', '--badger', 'BAR', 'spam']) >>> parser.parse_known_args(['--foo', '--badger', 'BAR', 'spam'])
(Namespace(bar='BAR', foo=True), ['--badger', 'spam']) (Namespace(bar='BAR', foo=True), ['--badger', 'spam'])
.. warning::
:ref:`Prefix matching <prefix-matching>` rules apply to
:meth:`parse_known_args`. The parser may consume an option even if it's just
a prefix of one of its known options, instead of leaving it in the remaining
arguments list.
Customizing file parsing Customizing file parsing
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment