Python模块和__all__

我试图了解如何使用__all管理模块.例如,我有以下结构化代码:

main.py
|=> /database
    |=> __init__.py
    |=> engine (with variables engine, session, etc.)

现在我希望能够直接从数据库模块导入会话和引擎实例,如:

from database import session

我试图将__all__ = [‘session’]或__all__ = [‘engine.session’]添加到__init__py但是当我尝试导入时我有一个异常AttributeError:’modile’对象没有属性’engine.session ”.

有没有办法实现通缉行为?

__all__中的列表名称本身不会将项目导入模块.如果您使用数据库导入*语法,它所做的只是从该模块导入的列表名称.

将会话导入数据库/ __ init__.py:

from .engine import session
https://stackoverflow.com/questions/17236895/python-module-and-all

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python模块和__all__