从模块导入全局变量

artu-hnrq

考虑以下项目结构:

project
  ...
   |-- view
        |-- __init__.py
        |-- app_view.py
        |-- component.py

这些导入和声明:

# __init__.py
from view.app_view import AppView
global APP_VIEW
APP_VIEW = AppView()


# app_view.py
from view.component import Component
class AppView:
    def __init__(self):
        self.component = Component()   


# component.py
from view import APP_VIEW
class Component:
   ...

ImportError:无法导入名称“ APP_VIEW”

是我一直在收到的消息,我想这与周期性导入结构有关,但是我尝试了其他一些组织,但没有成功。所以我想知道如何解决这种情况。

  1. 此类相关模块的Pythonic文件结构是什么?
  2. 如何存储全局变量以便能够将其与整个项目一起导入?
林菲利克斯

是的,问题在于,如@ juanpa.arrivillaga所说,是循环/循环导入。该答案详细说明了您的问题如何发生。该问题和答案与您有类似的问题,并且具有快速修复的功能。

您的文件结构不是问题。但是,可以使用singleton模式而不是全局变量来存档要执行的操作。这是这两种方式在python项目中的比较

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何声明对导入的模块函数可见的全局变量

来自分类Dev

从模块导入的全局变量不会更新-为什么?

来自分类Dev

导入模块时看不到全局变量的更改

来自分类Dev

从python中的其他模块导入单个全局变量

来自分类Dev

为什么在“导入模块”和“从模块导入*”中,全局变量的行为不同?

来自分类Dev

从模块访问全局变量?

来自分类Dev

从模块引用全局变量

来自分类Dev

跨模块的全局变量

来自分类Dev

Fortran模块全局变量

来自分类Dev

Javascript全局模块或全局变量

来自分类Dev

Javascript将文件中的所有模块作为全局变量导入

来自分类Dev

Python-将全局变量作为导入模块的参数传递

来自分类Dev

Python:导入的函数访问全局变量

来自分类Dev

导入使用全局变量的方法

来自分类Dev

如何从全局变量导入 React?

来自分类Dev

不同模块之间的全局变量

来自分类Dev

来自类模块的全局变量声明

来自分类Dev

Python模块和全局变量

来自分类Dev

TypeScript:从模块创建全局变量

来自分类Dev

在Javascript模块之间共享的全局变量

来自分类Dev

如何从解析模块访问全局变量?

来自分类Dev

从extern模块执行全局变量

来自分类Dev

不同模块之间的全局变量

来自分类Dev

其他模块的全局变量和全局语句

来自分类Dev

带有模块方式全局变量的python模块

来自分类Dev

在python和全局变量中导入其他文件

来自分类Dev

如何在Ember中导入全局变量?

来自分类Dev

句法糖|| 检查“。”失败。|| 如何导入或设置全局变量?

来自分类Dev

在需要时导入javascript文件和全局变量