Hi! I'm having a bit of a problem with import.
I'm writing a marshalling system that based on a specification will create one or more files containing mostly class definitions. If there are more than one file created (and there are reasons for creating more than one file in some instances) then they will import each other since there may be or is interdependencies in between them. And this is where the going gets tough. Let's assume I have the following files: ------------- ONE.py -------------------- import TWO class Car: def __init__(self): self.color = None def set_color(self,v): if isinstance(v,TWO.Black) or isinstance(v,TWO.White): self.color = v class BaseColor: def __init__(self): pass def __str__(self): return self.color if __name__ == "__main__": car = Car() color = TWO.Black() car.set_color(color) print car.color -------------- TWO.py ------------------- import ONE class Black(ONE.BaseColor): color = "Black" def __init__(self): ONE.BaseColor.__init__(self) class White(ONE.BaseColor): color = "White" def __init__(self): ONE.BaseColor.__init__(self) ----------------------------------------- Now, running ONE.py causes no problem it will print "Black", but running TWO.py I get: AttributeError: 'module' object has no attribute 'BaseColor' So, how can this be solved if it can be ? To join ONE.py and TWO.py into one file could be a solution if there where no other conditions (non-language based) that prevented it. -- Roland -- http://mail.python.org/mailman/listinfo/python-list