int() and leading zeros in Python 2.6

Pete Forman pete.forman at westerngeco.com
Wed Nov 12 07:21:37 EST 2008


I'm holding off installing Python 2.6, waiting for some packages to
become available for it.  I wonder if someone could tell me the best
way to avoid future problems parsing decimal integers with leading
zeros.

>>> int('09')
9

That works in 2.5 but will break in 2.6 AFAIK as int() is being
changed to use Numeric Literal syntax.  It will give a syntax error as
the leading 0 will force an octal radix and the 9 will be out of
range.  Will this avoid the breakage?

>>> int('09', 10)
9

Or should I use this uglier variation that needs 2.2.2 or later?

>>> int('09'.lstrip('0'))
9

Is the documentation for int([x[, radix]]) correct?  I'd say that the
default for radix has become 0.

  http://docs.python.org/library/functions.html#int

-- 
Pete Forman                -./\.-  Disclaimer: This post is originated
WesternGeco                  -./\.-   by myself and does not represent
pete.forman at westerngeco.com    -./\.-   the opinion of Schlumberger or
http://petef.22web.net           -./\.-   WesternGeco.



More information about the Python-list mailing list