diff options
author | Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> | 2020-11-30 21:21:08 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 21:21:08 (GMT) |
commit | aab93903347ec6d7f23dda2994dd26f6111d19d2 (patch) | |
tree | 75a994226480b2231043ebffc388c87c435aa1ee | |
parent | cf22aa3bc698847459a6bf20c166aa80825b810a (diff) | |
download | cpython-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.rst | 17 |
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 |