gpt4 book ai didi

python - 如何从包的更深部分访问 __init__.py 变量

转载 作者:太空狗 更新时间:2023-10-29 20:48:31 25 4
gpt4 key购买 nike

对于另一个 __init__.py 问题,我深表歉意。

我有以下包结构:

+contrib
+--__init__.py
|
+database
+--__init__.py
|
+--connection.py

在顶层 __init__.py 我定义:USER='me'。如果我从命令行import contrib,那么我可以访问contrib.USER

现在,我想从 connection.py 访问 contrib.user 但我做不到。

当我发出 from contrib.database import connection 时调用顶层 __init__.py,因此 Python 实际上是在创建参数 USER.

所以问题是:如何从 children 中访问在顶级 __init__.py 中声明的参数和变量。

谢谢。

编辑:

我意识到您可以将 import contrib 添加到 connection.py,但它似乎是重复的,因为很明显(不正确?)如果您需要 connection.py 您已经导入了 contrib

最佳答案

import contrib 添加到 connection.py 是可行的方法。是的,contrib 模块已经导入(您可以从sys.modules 中找到)。问题是您的代码在 connection.py 中没有引用该模块。做另一个导入会给你引用。您无需担心额外的加载时间,因为模块已经加载。

关于python - 如何从包的更深部分访问 __init__.py 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2860482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com