对于另一个__init__.py
问题,我表示歉意。如何从包的更深层部分访问__init__.py变量
我有以下封装结构:
+contrib
+--__init__.py
|
+database
+--__init__.py
|
+--connection.py
在顶层__init__.py
我定义:USER='me'
。如果我从命令行输入import contrib
,那么我可以访问contrib.USER
。
现在,我想从withih connection.py
访问contrib.user
,但我不能这样做。
当我发出from contrib.database import connection
时调用顶层__init__.py
,所以Python真的创建参数USER
。
所以问题是:如何从子女内访问顶级__init__.py
中声明的参数和变量。
谢谢。
编辑:
我知道你可以添加import contrib
到connection.py
,但似乎重复,因为它是明显的(错误呢?),如果你需要connection.py
您是否已经导入contrib
。
从理论上讲,你可以从'sys.modules'中取出它,因为你知道它存在,但是我强烈建议*不要这样做。伟业堂的答案好多了。 – Kevin 2015-01-16 22:55:37