4

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

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

现在我希望能够直接从模块导入session和实例,例如:enginedatabase

from database import session

我尝试添加 line__all__ = ['session']__all__ = ['engine.session']to__init__py但是当我尝试导入时出现异常AttributeError: 'modile' object has not attribute 'engine.session'

有没有办法实现想要的行为?

4

1 回答 1

4

列出名称__all__本身并不会将项目导入模块。from database import *如果您使用语法,它所做的只是列出要从该模块导入的名称。

导入:session_database/__init__.py

from .engine import session
于 2013-06-21T13:49:04.177 回答