summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-11-30 21:21:08 (GMT)
committerGitHub <noreply@github.com>2020-11-30 21:21:08 (GMT)
commitaab93903347ec6d7f23dda2994dd26f6111d19d2 (patch)
tree75a994226480b2231043ebffc388c87c435aa1ee
parentcf22aa3bc698847459a6bf20c166aa80825b810a (diff)
downloadcpython-aab93903347ec6d7f23dda2994dd26f6111d19d2.zip
cpython-aab93903347ec6d7f23dda2994dd26f6111d19d2.tar.gz
cpython-aab93903347ec6d7f23dda2994dd26f6111d19d2.tar.bz2
bpo-42501: Revise the usage note for Enums with the choices (GH-23563) (GH-23573)
-rw-r--r--Doc/library/argparse.rst17
1 files changed, 3 insertions, 14 deletions
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index 7a7a4cf..a32b999 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -1133,20 +1133,9 @@ container should match the type_ specified::
Any container can be passed as the *choices* value, so :class:`list` objects,
:class:`set` objects, and custom containers are all supported.
-This includes :class:`enum.Enum`, which could be used to restrain
-argument's choices; if we reuse previous rock/paper/scissors game example,
-this could be as follows::
-
- >>> from enum import Enum
- >>> class GameMove(Enum):
- ... ROCK = 'rock'
- ... PAPER = 'paper'
- ... SCISSORS = 'scissors'
- ...
- >>> parser = argparse.ArgumentParser(prog='game.py')
- >>> parser.add_argument('move', type=GameMove, choices=GameMove)
- >>> parser.parse_args(['rock'])
- Namespace(move=<GameMove.ROCK: 'rock'>)
+
+Use of :class:`enum.Enum` is not recommended because it is difficult to
+control its appearance in usage, help, and error messages.
required