]> granicus.if.org Git - python/commitdiff
- Issue #15935: Clarification of argparse docs, re: add_argument() type and
authorBarry Warsaw <barry@python.org>
Tue, 25 Sep 2012 14:32:53 +0000 (10:32 -0400)
committerBarry Warsaw <barry@python.org>
Tue, 25 Sep 2012 14:32:53 +0000 (10:32 -0400)
  default arguments.  Patch contributed by Chris Jerdonek.

Doc/library/argparse.rst
Misc/NEWS

index 8bb740e83ee0c6683b646d5d6e02e902c1544d4a..2380a509e9423dbe00a789adeb63a3d7fe41ee88 100644 (file)
@@ -906,6 +906,17 @@ was not present at the command line::
    >>> parser.parse_args(''.split())
    Namespace(foo=42)
 
+If the ``default`` value is a string, the parser parses the value as if it
+were a command-line argument.  In particular, the parser applies any type_
+conversion argument, if provided, before setting the attribute on the
+:class:`Namespace` return value.  Otherwise, the parser uses the value as is::
+
+   >>> parser = argparse.ArgumentParser()
+   >>> parser.add_argument('--length', default='10', type=int)
+   >>> parser.add_argument('--width', default=10.5, type=int)
+   >>> parser.parse_args()
+   Namespace(length=10, width=10.5)
+
 For positional arguments with nargs_ equal to ``?`` or ``*``, the ``default`` value
 is used when no command-line argument was present::
 
@@ -944,6 +955,9 @@ types and functions can be used directly as the value of the ``type`` argument::
    >>> parser.parse_args('2 temp.txt'.split())
    Namespace(bar=<open file 'temp.txt', mode 'r' at 0x...>, foo=2)
 
+See the section on the default_ keyword argument for information on when the
+``type`` argument is applied to default arguments.
+
 To ease the use of various types of files, the argparse module provides the
 factory FileType which takes the ``mode=`` and ``bufsize=`` arguments of the
 ``file`` object.  For example, ``FileType('w')`` can be used to create a
index fdd84fe167f1253c503ddc1003f7fef0e2682982..82b176934bfbfd96e1f89dd7cf5330d1944d3a22 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -442,6 +442,9 @@ Build
 Documentation
 -------------
 
+- Issue #15935: Clarification of argparse docs, re: add_argument() type and
+  default arguments.  Patch contributed by Chris Jerdonek.
+
 - Issue #13769: Document the effect of ensure_ascii to the return type
   of JSON decoding functions.