[2.7] bpo-15427 Clarify nature of parse_args 'args' argument. (GH-3292) by bitdancer · Pull Request #3328 · python/cpython

Expand Up @@ -852,6 +852,8 @@ values are: usage: PROG [-h] foo [foo ...] PROG: error: too few arguments
.. _`argparse.REMAINDER`:
* ``argparse.REMAINDER``. All the remaining command-line arguments are gathered into a list. This is commonly useful for command line utilities that dispatch to other command line utilities:: Expand Down Expand Up @@ -1273,8 +1275,11 @@ The parse_args() method created and how they are assigned. See the documentation for :meth:`add_argument` for details.
By default, the argument strings are taken from :data:`sys.argv`, and a new empty :class:`Namespace` object is created for the attributes. * args_ - List of strings to parse. The default is taken from :data:`sys.argv`.
* namespace_ - An object to take the attributes. The default is a new empty :class:`Namespace` object.

Option value syntax Expand Down Expand Up @@ -1415,6 +1420,7 @@ a unique option)::
An error is produced for arguments that could produce more than one options.
.. _args:
Beyond ``sys.argv`` ^^^^^^^^^^^^^^^^^^^ Expand All @@ -1436,6 +1442,7 @@ interactive prompt:: >>> parser.parse_args(['1', '2', '3', '4', '--sum']) Namespace(accumulate=<built-in function sum>, integers=[1, 2, 3, 4])
.. _namespace:
The Namespace object ^^^^^^^^^^^^^^^^^^^^ Expand Down Expand Up @@ -1941,7 +1948,12 @@ A partial upgrade path from :mod:`optparse` to :mod:`argparse`: * Replace ``(options, args) = parser.parse_args()`` with ``args = parser.parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls for the positional arguments. Keep in mind that what was previously called ``options``, now in :mod:`argparse` context is called ``args``. called ``options``, now in the :mod:`argparse` context is called ``args``.
* Replace :meth:`optparse.OptionParser.disable_interspersed_args` by setting ``nargs`` of a positional argument to `argparse.REMAINDER`_, or use :meth:`~ArgumentParser.parse_known_args` to collect unparsed argument strings in a separate list.
* Replace callback actions and the ``callback_*`` keyword arguments with ``type`` or ``action`` arguments. Expand Down