Replace weird error message?
Ben Finney
ben+python at benfinney.id.au
Wed Mar 16 14:53:47 EDT 2016
"the.gerenuk--- via Python-list" <python-list at python.org> writes:
> The following error message, makes it a bit hard to understand what went wrong
>
> >>> "{:02}".format("1")
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> ValueError: '=' alignment not allowed in string format specifier
Meaning that the ‘str.format’ mini-language parser has decided on the
alignment specifier “=”. It's chosen that because:
Preceding the width field by a zero ('0') character enables
sign-aware zero-padding for numeric types. This is equivalent to a
fill character of '0' with an alignment type of '='.
<URL:https://docs.python.org/3/library/string.html#formatspec>
Nothing in the error message indicates why “'=' alignment” is relevant,
and it does not appear in the code.
> Do you think some better error message should be used?
Yes, I think that error message needs to be improved. Please file a bug
report in Python's issue tracker <URL:https://bugs.python.org/>.
> For example a hint that "0" does work for the given argument.
I suggest: “zero-padding only allowed for numeric types, not 'str'”.
--
\ “In economics, hope and faith coexist with great scientific |
`\ pretension and also a deep desire for respectability.” —John |
_o__) Kenneth Galbraith, 1970-06-07 |
Ben Finney
More information about the Python-list
mailing list