向后导入时的ImportError

时间:2018-02-21 20:51:44

标签: python python-3.x import python-import importerror

当我尝试向后导入(示例即将发布)时,我得到一个ImportError。

假设我有3个python文件:modA.py,modB.py和modC.py

dir/
    modA.py
    modB.py
    modC.py

modA.py:

import modB

instB = modB.clsB()

print("Successful")

modB.py:

import modC

list = [modC.clsC]

class clsB:
    def __init__(self):
        pass

modC.py

from modB import clsB

instB = clsB()

class clsC(clsB):
    def __init__(self):
        pass

我可以单独导入每个,但是当modC尝试导入modB时,由于某种原因它会出错。有没有办法绕过这个错误,或者无法向后导入(或者无论正确的术语是什么)?

1 个答案:

答案 0 :(得分:0)

注意modB如何导入modC。这导致无限进口,这当然是一件坏事。你明确地试图使用类继承,但是它的设置方式,类继承自己。您可能想重新考虑所有内容的流程,并可能将脚本合并到一个文件中