paul j3 <[email protected]> added the comment:
The error is raised in ._get_values with this section:
# when nargs='*' on a positional, if there were no command-line
# args, use the default if it is anything other than None
elif (not arg_strings and action.nargs == ZERO_OR_MORE and
not action.option_strings):
if action.default is not None:
value = action.default
else:
value = arg_strings
self._check_value(action, value)
An empty 'arg_strings' satisfies the nargs='*', so 'value' is set to that, and
passed to _check_value.
We could avoid this by setting the default to one of the valid choices, e.g.
'a'. But then the attribute would be that string, not a list with that string.
I suspect this issue has come up before, since I don't this code has been
changed in a long time.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41047>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com