On 2014-04-03 16:20, Eric V. Smith wrote:
On 04/02/2014 04:08 PM, John Tyree wrote:
Hi all,
Is there any particularly reason for the following behavior on both 2.7.6 and 3.4.0 ?
>>> "{:\x00<5}".format(2) '2 ' >>> "{:\x20<5}".format(2)
'2 ' >>> "{:\x01<5}".format(2)
'2\x01\x01\x01\x01' >>> "{:\x00<5}".format(2) == "{:\x20<5}".format(2)
True
The docs say "If a valid /align/ value is specified, it can be preceded by a /fill/ character that can be any character and defaults to a space if omitted," so I'm inclined to call this a good old fashioned bug.
I'd say it's a bug. Please open a bug, assign it to me (eric.smith), and I'll comment on it there.
I'd agree. It looks like '\x00' is being confused with a NUL terminator in the C code. I've seen such a thing before (now fixed).