Loading All Modules in a Folder
Importing a directory of modules can be a convenient way to manage a large number of related modules. However, using the standard from statement can result in unexpected behavior, as seen in the following example:
/Foo bar.py spam.py eggs.py
Adding an __init__.py file and using from Foo import * may not produce the desired result.
Solution: Generating all Variable
To properly load all modules in a folder, you can use the following method:
Here is the Python code for this solution:
from os.path import dirname, basename, isfile, join import glob modules = glob.glob(join(dirname(__file__), "*.py")) __all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]
This solution will dynamically create a list of module names and assign it to all in __init__.py. This allows you to import all modules in the folder by simply using from Foo import *.
The above is the detailed content of How Can I Efficiently Import All Modules from a Directory in Python?. For more information, please follow other related articles on the PHP Chinese website!