mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
- Issue #15935: Clarification of argparse docs, re: add_argument() type and
default arguments. Patch contributed by Chris Jerdonek.
This commit is contained in:
parent
df12f2bbb6
commit
1dedd0a4a4
2 changed files with 17 additions and 0 deletions
|
@ -904,6 +904,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::
|
||||
|
||||
|
@ -942,6 +953,9 @@ types and functions can be used directly as the value of the ``type`` argument::
|
|||
>>> parser.parse_args('2 temp.txt'.split())
|
||||
Namespace(bar=<_io.TextIOWrapper name='temp.txt' encoding='UTF-8'>, 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
|
||||
:func:`open` function. For example, ``FileType('w')`` can be used to create a
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue