New submission from Victor Porton <[email protected]>:
The below code produces "rock", but it should produce "a". This (to use dict
value instead of the key by argparse result) is both to be a new useful feature
(for example to map strings in a command line to certain functions or classes
provided as dict values) and conform to intuition better.
My feature proposal breaks backward compatibility, but I think no reasonable
programmer wrote it in such a way that he relied on the current behavior for
`dict` values for `choices`.
import argparse
parser = argparse.ArgumentParser(prog='game.py')
parser.add_argument('move', choices={'rock':'a', 'paper':'b', 'scissors':'c'})
print(parser.parse_args(['rock']))
----------
components: Library (Lib)
messages: 322142
nosy: porton
priority: normal
severity: normal
status: open
title: Use dicts to "transform" argparse arguments to values
versions: Python 3.7
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue34188>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com