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

AltStyle によって変換されたページ (->オリジナル) /