Constructor class problem
Diez B. Roggisch
deetsNOSPAM at web.de
Mon Mar 21 08:39:01 EST 2005
Wolfgang wrote:
> Hi,
> I am a newbie and have to modify some python moduls.
> I get the followin error:
> TypeError: __init__() takes exactly 3 arguments (2 given)
>
> Here the code snippet:
> class gXconv:
> def __init__(self, pathValue):
> self.pathValue=pathValue
> self.__sections = {}
> self.__spalten = {}
> self.labelfiles=[]
> etc.....
>
> call:
> try:
> gx=gXconv.gXconv(gXconfPath)
> except gXconv.gXconvertError, msg:
> print msg
> sys.exit(1)
That error can't appear in the above code - is the line in the stacktrace
amongst the shown ones? I doubt it.
The error means that you tried to call a function with less arguments than
it expected. As in __init__ the first argument is implicit on creation of
an object, the above errormessage indicates that there is an __init__
of the form
class Foo:
def __init__(self, arg1, arg2)
pass
called like this
Foo("bar")
But as the only constructor you show _has_ only one additional argument
besides self and line
gx=gXconv.gXconv(gXconfPath)
shows that you called it properly, the error must come from somewhere else.
--
Regards,
Diez B. Roggisch
More information about the Python-list
mailing list