mirror of https://github.com/python/cpython
gh-84545: Clarify the 'extend' action documentation in argparse (GH-125870)
This commit is contained in:
parent
75401febc9
commit
da8673da36
|
@ -741,6 +741,21 @@ how the command-line arguments should be handled. The supplied actions are:
|
||||||
>>> parser.parse_args('--str --int'.split())
|
>>> parser.parse_args('--str --int'.split())
|
||||||
Namespace(types=[<class 'str'>, <class 'int'>])
|
Namespace(types=[<class 'str'>, <class 'int'>])
|
||||||
|
|
||||||
|
* ``'extend'`` - This stores a list and appends each item from the multi-value
|
||||||
|
argument list to it.
|
||||||
|
The ``'extend'`` action is typically used with the nargs_ keyword argument
|
||||||
|
value ``'+'`` or ``'*'``.
|
||||||
|
Note that when nargs_ is ``None`` (the default) or ``'?'``, each
|
||||||
|
character of the argument string will be appended to the list.
|
||||||
|
Example usage::
|
||||||
|
|
||||||
|
>>> parser = argparse.ArgumentParser()
|
||||||
|
>>> parser.add_argument("--foo", action="extend", nargs="+", type=str)
|
||||||
|
>>> parser.parse_args(["--foo", "f1", "--foo", "f2", "f3", "f4"])
|
||||||
|
Namespace(foo=['f1', 'f2', 'f3', 'f4'])
|
||||||
|
|
||||||
|
.. versionadded:: 3.8
|
||||||
|
|
||||||
* ``'count'`` - This counts the number of times a keyword argument occurs. For
|
* ``'count'`` - This counts the number of times a keyword argument occurs. For
|
||||||
example, this is useful for increasing verbosity levels::
|
example, this is useful for increasing verbosity levels::
|
||||||
|
|
||||||
|
@ -766,17 +781,6 @@ how the command-line arguments should be handled. The supplied actions are:
|
||||||
>>> parser.parse_args(['--version'])
|
>>> parser.parse_args(['--version'])
|
||||||
PROG 2.0
|
PROG 2.0
|
||||||
|
|
||||||
* ``'extend'`` - This stores a list, and extends each argument value to the
|
|
||||||
list.
|
|
||||||
Example usage::
|
|
||||||
|
|
||||||
>>> parser = argparse.ArgumentParser()
|
|
||||||
>>> parser.add_argument("--foo", action="extend", nargs="+", type=str)
|
|
||||||
>>> parser.parse_args(["--foo", "f1", "--foo", "f2", "f3", "f4"])
|
|
||||||
Namespace(foo=['f1', 'f2', 'f3', 'f4'])
|
|
||||||
|
|
||||||
.. versionadded:: 3.8
|
|
||||||
|
|
||||||
Only actions that consume command-line arguments (e.g. ``'store'``,
|
Only actions that consume command-line arguments (e.g. ``'store'``,
|
||||||
``'append'`` or ``'extend'``) can be used with positional arguments.
|
``'append'`` or ``'extend'``) can be used with positional arguments.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue