首页 > 解决方案 > 从包的所有文件中导入所有类

问题描述

我有一个文件包,每个文件都有一个类:

model
 -- User.py
 -- Project.py
 -- Item.py
 -- __init__.py

在里面__init__.py我有这个:

from os.path import dirname, basename, isfile
import glob
modules = glob.glob(dirname(__file__)+"/*.py")
__all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]

如本答案中所述: https ://stackoverflow.com/a/1057534/2337243

现在我的问题是:

我现在可以在另一个类中使用导入的类,但只能这样做:

from model import * 
results = session.query( User.User).all()

我的问题是:如何导入模型类并像这样简单地调用类:

results = session.query( User).all()

注意:模型包内的每个文件都有一个与文件名同名的类。

标签: python

解决方案


推荐阅读