diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst index 56bd64172f8..ee00559485c 100644 --- a/Doc/library/argparse.rst +++ b/Doc/library/argparse.rst @@ -1595,7 +1595,7 @@ Sub-commands stored; by default ``None`` and no value is stored * required_ - Whether or not a subcommand must be provided, by default - ``False``. + ``False`` (added in 3.7) * help_ - help for sub-parser group in help output, by default ``None`` @@ -1751,6 +1751,9 @@ Sub-commands >>> parser.parse_args(['2', 'frobble']) Namespace(subparser_name='2', y='frobble') + .. versionchanged:: 3.7 + New *required* keyword argument. + FileType objects ^^^^^^^^^^^^^^^^ diff --git a/Doc/whatsnew/3.7.rst b/Doc/whatsnew/3.7.rst index af7e22d9faa..1ec8e0c04c7 100644 --- a/Doc/whatsnew/3.7.rst +++ b/Doc/whatsnew/3.7.rst @@ -2401,6 +2401,10 @@ Changes in the Python API instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :issue:`21071`.) +* :mod:`argparse` subparsers can now be made mandatory by passing ``required=True`` + to :meth:`ArgumentParser.add_subparsers() `. + (Contributed by Anthony Sottile in :issue:`26510`.) + * :meth:`ast.literal_eval()` is now stricter. Addition and subtraction of arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka in :issue:`31778`.)