向后导入时出现 ImportError

ImportError when importing backwards

当我尝试向后导入时(示例即将到来),我得到一个 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 时,由于某种原因它给出了错误。有什么办法可以解决此错误,或者是否无法向后导入(或任何正确的术语)?

注意 modB 如何导入 modC。这会导致无限导入,这当然是一件坏事。您显然正在尝试使用 class 继承,但它的设置方式 classes 是从它们自己继承的。您可能需要重新考虑所有流程,并可能将脚本合并到一个文件中