[Python-3000] PEP 3101 str.format() equivalent of '%#o/x/X'?

Eric Smith eric+python-dev at trueblade.com
Wed Jul 16 03:04:10 CEST 2008


Eric Smith wrote:
> Marcin ‘Qrczak’ Kowalczyk wrote:
>> 2008/5/29 Eric Smith <eric+python-dev at trueblade.com>:
>>
>>> I don't see it as a big problem.  You can now use any prefix you want,
>>> instead of the hard coded values that # supplied.
>>
>> Except that it works incorrectly for negative numbers.
> 
> Excellent point.  If only this had been brought up back when the PEP was 
> written :(
> 
> Any suggestions on how to improve the situation?  I guess we could add 
> '#' back in to the format specifier.  I can't really think of any other 
> way that doesn't involve converting the number to a string and then 
> operating on that, just to get the sign.
> 
> I'm reasonably sure I could implement that before the beta (next 
> Wednesday) if a decision is reached before this weekend.

So much for my estimating skills.  I was only off by 1 beta and 6 weeks. 
  I just checked in the code to close this issue 
(http://bugs.python.org/issue3038).  It's in both 2.6 and 3.0.

I've added test cases, but if anyone has any other uses for this, please 
look at it and let me know if you have any problems.

Eric.


More information about the Python-3000 mailing list