Returning an instance of a class from a file in python
<p>In my program I have a package filled with various .py files each containing a class definition.  I want to make a list where each entry is an instance of one of those classes.  In addition, my program doesn't know how many files are in the package or what the files or classes are called, so I can't just import each file.  Ideally, I should be able to modify the contents of the package (take out files, put new ones in, etc.) without having to rewrite other parts of the program.  Is there a way to do this?</p>

<p>Originally, I had a 'if _<em>name</em>_ == '_<em>main</em>_': return foo()' line in each file and tried to append to the list using execfile(), but obviously this doesn't work.  Any ideas?</p>

<p>Sorry if this is kinda vague.  I'll try to clarify if needed. I'm using Python 2.5.4.</p>

<p>EDIT:</p>

<p>My program is a random character generator for Dungeons and Dragons.  I made a package for every major data type the program needs.  I have a package for Classes, Races, Items, etc. and when making a character, my program makes a list of each data type that it can sort through when making a character.  For example, when equipping a character, the program can look at the Weapon list and filter out all the weapons that are unsuitable for that character and then randomly choose from the ones that remain.  </p>

<p>I don't want to specify file names because I would like the ability to easily add to this program later.  If later on down the road I wanted to add more weapon types to the program, I could just write a few new class descriptions and drop them in the Weapons package, and the program could use them without me needing to edit any other code.</p>
