On Mar 12, 5:42 pm, "Andrew Rekdal" <[EMAIL PROTECTED]> wrote: > I am working in the class constructor defining elements of an application. > The problem is the file is getting unmanageble and I am wanting to extend the > contructor __init__ to another file. > > Is it possible to import directly into the contructor the contents of another > module file? > > If so how would this be done? > > Thanks -- andrew
First, you should consider breaking your __init__() method into smaller pieces (methods) and calling those from within __init__(). That said, you can add attributes to an instance by means of its __dict__ dict attribute: |>> class foo: |>> def __init__(self): |>> self.__dict__['hi'] = ['An object'] |>> print self.__dict__ |>> |>> f = foo() {'hi': ['An object']} |>> f.hi ['An object'] You might try: |>> exec 'from sys import *' in f.__dict__ Now everything in sys appears in f: |>> f.copyright 'Copyright (c) 2001-2006 Python Software Foundation.\nAll Rights Reserved.\n\nCopyright (c) 2000 BeOpen.com.\nAll Rights Reserved.\n \nCopyright (c) 1995-2001 Corporation for National Research Initiatives.\nAll Rights Reserved.\n\nCopyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.\nAll Rights Reserved.' HTH, ~Simon -- http://mail.python.org/mailman/listinfo/python-list