Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Import folder of modules in Python

Is it possible in python to get a list of modules from a folder/package and import them?

I would like to be able to do this from a function inside a class, so that the entire class has access to them (possibly done from the __init__ method).

Any help would be greatly appreciated.

like image 410
williamtroup Avatar asked Sep 16 '25 19:09

williamtroup


1 Answers

See the modules document.

The only solution is for the package author to provide an explicit index of the package. The import statement uses the following convention: if a package’s __init__.py code defines a list named __all__, it is taken to be the list of module names that should be imported when from package import * is encountered. It is up to the package author to keep this list up-to-date when a new version of the package is released. Package authors may also decide not to support it, if they don’t see a use for importing * from their package. For example, the file sounds/effects/__init__.py could contain the following code:

__all__ = ["echo", "surround", "reverse"]

This would mean that from sound.effects import * would import the three named submodules of the sound package.

Yes, you could find a way to do this by doing a directory listing for the files in the directory and import them manually. But there isn't built-in syntax for what you're asking.

like image 170
Mark Hildreth Avatar answered Sep 18 '25 08:09

Mark Hildreth