我试图了解如何使用__all. 例如,我有以下结构化代码:
main.py
|=> /database
|=> __init__.py
|=> engine (with variables engine, session, etc.)
Run Code Online (Sandbox Code Playgroud)
现在我希望能够直接从模块导入实例,session例如:enginedatabase
from database import session
Run Code Online (Sandbox Code Playgroud)
我尝试添加行__all__ = ['session']或__all__ = ['engine.session']到__init__py,但当我尝试导入时出现异常AttributeError: 'modile' object has not attribute 'engine.session'。
有什么办法可以实现想要的行为吗?
列出名称__all__本身并不会将项目导入到模块中。如果您使用语法,它所做的只是列出要从该模块导入的名称from database import *。
导入session到database/__init__.py:
from .engine import session
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2425 次 |
| 最近记录: |