我在文件夹中有一个__init__.py
文件。内容如下:
from .user import UserManager
from .user_group import UserGroupManager
__all__ = [
"UserManager",
"UserGroupManager",
]
事实上,管理者的名单要大得多,但这只会使问题变得复杂。现在我想回顾一下我得到的所有经理。有没有一种方法可以循环使用这个__init__.py
文件?我没有应用程序中其他地方所有可能的管理器的列表,只有在这个init文件中
我想在service.py
文件中执行类似的操作:
def get_manager_by_id(id: str):
for manager in managers.__all__:
# use the manager
但这会引发一个错误,即管理器是一个字符串,这是逻辑。 这里的解决方案是用字符串找到经理,还是有更好的方法
我可以想出两种合理的方法来做到这一点。我倾向于:
它的优点是,如果您想向
__init__.py
添加其他内容(实用程序函数、常量、非管理器的类…),它不会干扰get_manager_by_id
或者,您可以执行以下操作:
。。。但是,如果您想向包中添加其他内容,那么现在您必须检查
manager
是否以某种方式实际上是一个管理器类相关问题 更多 >
编程相关推荐