Python设计交叉导入

2024-10-04 03:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我受不了进口货,不知道如何解决这个问题。在

我有3个模块:

  1. test_project.py
  2. modules/__init__.py
  3. r.py
  4. module.py
  5. module_configuration.py

依赖项列表:

test_project.py IMPORTS modules/__init__.py
modules/__init__.py IMPORTS r.py 
r.py IMPORTS > module_configuration.py 
module_configuration.py IMPORTS > modules/__init__.py

如你所见,我们这里有一个循环导入。在

  • modules/__init__.py保留类定义的dict(类像R)。在
  • R类在其构造函数中生成ModuleConfiguration的实例
  • ModuleConfiguration需要来自modules/__init__.py的类的dict。在

我收到的错误消息:

^{pr2}$

有什么解决办法吗?在


Tags: 模块实例pytestprojectmodules列表定义
1条回答
网友
1楼 · 发布于 2024-10-04 03:21:47

不是在模块加载时生成实例,而是实现返回相关结果的函数,并将这些函数保存在各自的模块中。然后一旦模块被加载,所有的东西都可以使用。 从moduleB导入moduleA和从moduleA导入moduleB没有问题。 您是否需要必须在模块加载时创建的模块全局对象?这通常是不需要的。取而代之的是,在第一次使用时,只要所有模块都就位,就可以构建任何模块全局变量。在

相关问题 更多 >