New submission from Ben Finney:

When using a format specifier with leading zero, the format spec mini-language 
(as documented at 
https://docs.python.org/3/library/string.html#format-specification-mini-language>)
 says:

> '=' […] becomes the default when ‘0’ immediately precedes the field width.

When the ‘=’ option is only implied, the error message “ValueError: '=' 
alignment not allowed in string format specifier” becomes surprising and 
incomprehensible to someone who does not know that implied behaviour.

In issue 15560, Terry Reedy says:

> If the spec string is still available, it could be searched and the message 
> adjusted if '=' is not present.  That proposal should be a new issue if 
> someone wants to push it.

This issue raises that proposal.

The error message should be changed so that:

* It makes sense whether or not the ‘=’ option is explicit in the format 
specifier.

Or:

* Different messages are produced when the ‘=’ option is explicit versus when 
it is implicit.

I think the former option is better, but either will satisfy this request.

----------
messages: 272827
nosy: bignose
priority: normal
severity: normal
status: open
title: Refer to actual format string when creating “zero padding” error message
versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27772>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to