Let me explain the use case…
In a simple python web application framework designed for Google App Engine, I’d like to have my models loaded automatically from a ‘models’ directory, so all that’s needed to add a model to the application is place a file user.py (for example), which contains a class called ‘User’, in the ‘models/’ directory.
Being GAE, I can’t read from the file system so I can’t just read the filenames that way, but it seems to me that I must be able to ‘import * from models’ (or some equivalent), and retrieve at least a list of module names that were loaded, so I can subject them to further processing logic.
To be clear, I want this to be done WITHOUT having to maintain a separate list of these module names for the application to read from.
You can read from the filesystem in GAE just fine; you just can’t write to the filesystem.
from models import *will only import modules listed in__all__inmodels/__init__.py; there’s no automatic way to import all modules in a package if they’re not declared to be part of the package. You just need to read the directory (which you can do) and__import__()everything in it.