On Sep 3, 10:48 am, [EMAIL PROTECTED] wrote: > Hi > > I am new to Python and have recieved this error message when trying to > instantiate an object from a class from another file within the same > directory and wondered what I have done wrong. > > I have a Step.py class: > class Step(object) > def __init__(self, sName): > "Initialise a new Step instance" > self.sName = sName > self.depSteps = [] > self.remDepSteps = [] > self.isCompleted = 0 > > Then I have created a new file within the same directory called > main.py: > > import Step > a = Step("magn") > > The following however generates the error > Traceback (most recent call last): > File "main.py", line 3, in ? > a = Step("magn") > TypeError: 'module' object is not callable
This is because when you issue "import Step" you're actually importing the "Step" _module_, not the "Step" class inside the module. You can do this in at least two ways: ------ import Step a = Step.Step("magn") # access the Step class inside Step module ------ or ------ from Step import Step # insert in the current namespace the Step class a = Step("magn") ------ > > If anyone could help point me in the right direction, how to fix this > problem it would be much appreciated. > Chris HTH -- http://mail.python.org/mailman/listinfo/python-list