导入导入主模块的模块

Che*_*zey 0 python import module circular-dependency

我正在进行文本冒险,将关卡存储为一个名为"地方"的大型词典.我没有把它放在主文件中,而是认为我会创建一个名为'levels.py'的单独文件来包含它,使我的代码更清晰,并且无需经过450多行其他代码添加到它.

那么,主要的游戏文件:

from levels import places

class Thing:
    #Some stuff
Run Code Online (Sandbox Code Playgroud)

levels.py:

from game import *
places = {
    "bleh" : Thing("bleh"),
}
Run Code Online (Sandbox Code Playgroud)

然而,似乎"地方"并未在游戏中定义.

我认为正在发生的是有一个导入'循环'.但是,如果levels.py需要从game.py导入类,我怎么能阻止类似的东西呢?

eca*_*mur 6

总是可以重构以消除循环依赖.移动Thingthing.py,然后进入game.pylevels.py使用from thing import Thing.冲洗并重复.