summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/argparse.rst50
1 files changed, 29 insertions, 21 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index c2d7e73..349df00 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -1,5 +1,5 @@
-:mod:`argparse` -- Parser for command line options, arguments and sub-commands
-==============================================================================
+:mod:`argparse` --- Parser for command line options, arguments and sub-commands
+===============================================================================
.. module:: argparse
:synopsis: Command-line option and argument parsing library.
@@ -14,6 +14,7 @@ will figure out how to parse those out of :data:`sys.argv`. The :mod:`argparse`
module also automatically generates help and usage messages and issues errors
when users give the program invalid arguments.
+
Example
-------
@@ -64,6 +65,7 @@ If invalid arguments are passed in, it will issue an error::
The following sections walk you through this example.
+
Creating a parser
^^^^^^^^^^^^^^^^^
@@ -97,6 +99,7 @@ will be a list of one or more ints, and the ``accumulate`` attribute will be
either the :func:`sum` function, if ``--sum`` was specified at the command line,
or the :func:`max` function if it was not.
+
Parsing arguments
^^^^^^^^^^^^^^^^^
@@ -248,7 +251,6 @@ the help options::
+h, ++help show this help message and exit
-
prefix_chars
^^^^^^^^^^^^
@@ -295,6 +297,7 @@ equivalent to the expression ``['-f', 'foo', '-f', 'bar']``.
The ``fromfile_prefix_chars=`` argument defaults to ``None``, meaning that
arguments will never be treated as file references.
+
argument_default
^^^^^^^^^^^^^^^^
@@ -594,6 +597,7 @@ The add_argument() method
The following sections describe how each of these are used.
+
name or flags
^^^^^^^^^^^^^
@@ -623,6 +627,7 @@ When :meth:`parse_args` is called, optional arguments will be identified by the
usage: PROG [-h] [-f FOO] bar
PROG: error: too few arguments
+
action
^^^^^^
@@ -767,8 +772,10 @@ values are:
output files::
>>> parser = argparse.ArgumentParser()
- >>> parser.add_argument('infile', nargs='?', type=argparse.FileType('r'), default=sys.stdin)
- >>> parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'), default=sys.stdout)
+ >>> parser.add_argument('infile', nargs='?', type=argparse.FileType('r'),
+ ... default=sys.stdin)
+ >>> parser.add_argument('outfile', nargs='?', type=argparse.FileType('w'),
+ ... default=sys.stdout)
>>> parser.parse_args(['input.txt', 'output.txt'])
Namespace(infile=<open file 'input.txt', mode 'r' at 0x...>, outfile=<open file 'output.txt', mode 'w' at 0x...>)
>>> parser.parse_args([])
@@ -1128,7 +1135,7 @@ behavior::
The parse_args() method
-----------------------
-.. method:: ArgumentParser.parse_args([args], [namespace])
+.. method:: ArgumentParser.parse_args(args=None, namespace=None)
Convert argument strings to objects and assign them as attributes of the
namespace. Return the populated namespace.
@@ -1140,6 +1147,7 @@ The parse_args() method
By default, the arg strings are taken from :data:`sys.argv`, and a new empty
:class:`Namespace` object is created for the attributes.
+
Option value syntax
^^^^^^^^^^^^^^^^^^^
@@ -1503,7 +1511,7 @@ FileType objects
Argument groups
^^^^^^^^^^^^^^^
-.. method:: ArgumentParser.add_argument_group([title], [description])
+.. method:: ArgumentParser.add_argument_group(title=None, description=None)
By default, :class:`ArgumentParser` groups command-line arguments into
"positional arguments" and "optional arguments" when displaying help
@@ -1527,7 +1535,7 @@ Argument groups
:class:`ArgumentParser`. When an argument is added to the group, the parser
treats it just like a normal argument, but displays the argument in a
separate group for help messages. The :meth:`add_argument_group` method
- accepts ``title`` and ``description`` arguments which can be used to
+ accepts *title* and *description* arguments which can be used to
customize this display::
>>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)
@@ -1555,7 +1563,7 @@ Argument groups
Mutual exclusion
^^^^^^^^^^^^^^^^
-.. method:: add_mutually_exclusive_group([required=False])
+.. method:: add_mutually_exclusive_group(required=False)
Create a mutually exclusive group. argparse will make sure that only one of
the arguments in the mutually exclusive group was present on the command
@@ -1573,7 +1581,7 @@ Mutual exclusion
usage: PROG [-h] [--foo | --bar]
PROG: error: argument --bar: not allowed with argument --foo
- The :meth:`add_mutually_exclusive_group` method also accepts a ``required``
+ The :meth:`add_mutually_exclusive_group` method also accepts a *required*
argument, to indicate that at least one of the mutually exclusive arguments
is required::
@@ -1586,7 +1594,7 @@ Mutual exclusion
PROG: error: one of the arguments --foo --bar is required
Note that currently mutually exclusive argument groups do not support the
- ``title`` and ``description`` arguments of :meth:`add_argument_group`.
+ *title* and *description* arguments of :meth:`add_argument_group`.
Parser defaults
@@ -1637,27 +1645,27 @@ In most typical applications, :meth:`parse_args` will take care of formatting
and printing any usage or error messages. However, several formatting methods
are available:
-.. method:: ArgumentParser.print_usage([file]):
+.. method:: ArgumentParser.print_usage(file=None)
Print a brief description of how the :class:`ArgumentParser` should be
- invoked on the command line. If ``file`` is not present, ``sys.stderr`` is
+ invoked on the command line. If *file* is ``None``, :data:`sys.stderr` is
assumed.
-.. method:: ArgumentParser.print_help([file]):
+.. method:: ArgumentParser.print_help(file=None)
Print a help message, including the program usage and information about the
- arguments registered with the :class:`ArgumentParser`. If ``file`` is not
- present, ``sys.stderr`` is assumed.
+ arguments registered with the :class:`ArgumentParser`. If *file* is
+ ``None``, :data:`sys.stderr` is assumed.
There are also variants of these methods that simply return a string instead of
printing it:
-.. method:: ArgumentParser.format_usage():
+.. method:: ArgumentParser.format_usage()
Return a string containing a brief description of how the
:class:`ArgumentParser` should be invoked on the command line.
-.. method:: ArgumentParser.format_help():
+.. method:: ArgumentParser.format_help()
Return a string containing a help message, including the program usage and
information about the arguments registered with the :class:`ArgumentParser`.
@@ -1666,7 +1674,7 @@ printing it:
Partial parsing
^^^^^^^^^^^^^^^
-.. method:: ArgumentParser.parse_known_args([args], [namespace])
+.. method:: ArgumentParser.parse_known_args(args=None, namespace=None)
Sometimes a script may only parse a few of the command line arguments, passing
the remaining arguments on to another script or program. In these cases, the
@@ -1689,12 +1697,12 @@ Customizing file parsing
.. method:: ArgumentParser.convert_arg_line_to_args(arg_line)
- Arguments that are read from a file (see the ``fromfile_prefix_chars``
+ Arguments that are read from a file (see the *fromfile_prefix_chars*
keyword argument to the :class:`ArgumentParser` constructor) are read one
argument per line. :meth:`convert_arg_line_to_args` can be overriden for
fancier reading.
- This method takes a single argument ``arg_line`` which is a string read from
+ This method takes a single argument *arg_line* which is a string read from
the argument file. It returns a list of arguments parsed from this string.
The method is called once per line read from the argument file, in order.