在my_modules
文件夹中,添加一个__init__.py
文件以使其成为正确的程序包。在该文件中,您可以在文件的全局范围内注入每个模块的全局变量__init__.py
,从而在导入模块时使它们可用(在将全局__all__
变量的名称也添加到变量之后):
__all__ = []
import pkgutil
import inspect
for loader, name, is_pkg in pkgutil.walk_packages(__path__):
module = loader.find_module(name).load_module(name)
for name, value in inspect.getmembers(module):
if name.startswith('__'):
continue
globals()[name] = value
__all__.append(name)
现在,不要做:
from my_modules.class1 import Stuff
您可以这样做:
from my_modules import Stuff
或将所有内容导入全局范围,这似乎是您想要执行的操作:
from my_modules import *