diff options
author | R. David Murray <rdmurray@bitdance.com> | 2017-09-04 20:17:26 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-04 20:17:26 (GMT) |
commit | 0c7983e4adf9604d0ac93757a45d14be06c27696 (patch) | |
tree | ae976d014c27458c027bbe2f737b72900b2f789f /Doc/library/argparse.rst | |
parent | f58e6e276849e43d96ba59fecadf5bf8f39f92a9 (diff) | |
download | cpython-0c7983e4adf9604d0ac93757a45d14be06c27696.zip cpython-0c7983e4adf9604d0ac93757a45d14be06c27696.tar.gz cpython-0c7983e4adf9604d0ac93757a45d14be06c27696.tar.bz2 |
Clarify nature of parse_args 'args' argument. (#3292)
Patch by Paul.j3. Includes an unrelated but useful addition to the
optparse porting section.
Diffstat (limited to 'Doc/library/argparse.rst')
-rw-r--r-- | Doc/library/argparse.rst | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 4530304..a16aa10 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -898,6 +898,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:: @@ -1324,8 +1326,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 @@ -1467,6 +1472,7 @@ unambiguous (the prefix matches a unique option):: An error is produced for arguments that could produce more than one options. This feature can be disabled by setting :ref:`allow_abbrev` to ``False``. +.. _args: Beyond ``sys.argv`` ^^^^^^^^^^^^^^^^^^^ @@ -1488,6 +1494,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 ^^^^^^^^^^^^^^^^^^^^ @@ -2008,7 +2015,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. |