-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 I'm trying to write some code which: 1. Finds all modules in a plugin directory 2. Imports those modules 3. Creates an instance of each object defined in the module (each module will contain exactly 1 object, which is a subclass of 'Plugin')
The closest I've come so far is with something like: In plugin.py: # taken from http://docs.python.org/lib/built-in-funcs.html def my_import(name): mod = __import__(name) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod def import_plugins(): mods = [] for filename in os.listdir('/plugins'): if filename.endswith('.py'): name = os.path.splitext(filename)[0] mods.append(my_import('plugins.' + name)) return mods class Plugin(object): pass In plugins/exampleplugin.py: class ExamplePlugin(Plugin): def __init__(self): pass Calling import_plugins() then gives me a list containing references to modules. How can I loop through that list and create an instance of whatever object was defined within the module? (In this case I'd want to construct an instance of ExamplePlugin) Thanks in advance, Dave - -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ( Dave Challis ) ><> [EMAIL PROTECTED](___________________________ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIhb/Uv26GZvAVVFERAsGaAJ9KwtFI9yXdk2gBGxy0/bjCd5318wCgsiV9 m14BZSvxqZ1EP0OvaXBZoaw= =TYlD -----END PGP SIGNATURE----- -- http://mail.python.org/mailman/listinfo/python-list