[Python-bugs-list] [ python-Bugs-697591 ] string.atoi function causing TypeError
SourceForge.net
noreply@sourceforge.net
Tue, 04 Mar 2003 18:18:23 -0800
Bugs item #697591, was opened at 2003-03-04 17:51
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=697591&group_id=5470
Category: Python Library
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Jim Murff (jmurff)
>Assigned to: Raymond Hettinger (rhettinger)
Summary: string.atoi function causing TypeError
Initial Comment:
Discoved this when using Pmw with 2.3a1 and a2 found atoi
doesn't work properly. So, I wrote a small test:
------------------
import string
if __name__ == __main__:
num = atoi(test, 10)
------------------
Always get and exception from it and using Pmw that is the
same:
<...>
python2.3/string.py, line 220
return _int(s, base)
TypeError: int() can't convert non-string with explicit base
Seems to always pass a string like it asks for.
I can also reproduce by using the MenuBar.py and
MainMenuBar.py in Pmw/Pmw1.1/demos.
I fixed it by looking at python2.3/stringold.py. I took the guts of
atoi from there.
So it was:
---------------
def atoi(s, base=10) :
return _int(s, base)
It is now:
--------------
def atoi(*args) :
try:
s = arg[0]
except IndexError:
raise TypeError('function requires a least one argument: %d
given' % len(args))
return apply(_int, args)
Hope this helps. Not sure if it is best way to fix it but solved all our
errors using atoi for now.
Let me know if you need more info. - jmurff@pacbell.net
----------------------------------------------------------------------
>Comment By: Raymond Hettinger (rhettinger)
Date: 2003-03-04 21:18
Message:
Logged In: YES
user_id=80475
I'll take a look at this one.
Can you provide the value and type of the "test" variable
when the exception was raised?
Also, please confirm that the test code meant to
say: "num = string.atoi(test, 10) ".
----------------------------------------------------------------------
Comment By: John Speno (corvus)
Date: 2003-03-04 20:50
Message:
Logged In: YES
user_id=2138
I replaced the string.atoi() calls with calls to just int() in Pmw when I encountered this. I'm glad you filed this bug so I don't have to!
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=697591&group_id=5470