我为另一个__init__.py问题道歉.
我有以下包结构:
+contrib
+--__init__.py
|
+database
+--__init__.py
|
+--connection.py
Run Code Online (Sandbox Code Playgroud)
在顶级__init__.py我定义:USER='me'.如果我import contrib从命令行,那么我可以访问contrib.USER.
现在,我想contrib.user从withih 访问,connection.py但我不能这样做.
__init__.py我发布时会调用顶级from contrib.database import connection,因此Python实际上是在创建参数USER.
所以问题是:如何__init__.py从子级中访问顶级声明的参数和变量.
谢谢.
编辑:
我知道你可以添加import contrib到connection.py,但似乎重复,因为它是明显的(错误呢?),如果你需要connection.py你已经导入contrib.
Wai*_*ung 13
添加import contrib到connection.py是要走的路.是的,该contrib模块已经导入(您可以从中找到sys.modules).问题是您的connection.py代码中没有对模块的引用.进行另一次导入将为您提供参考.您无需担心额外的加载时间,因为模块已经加载.