【发布时间】:2018-02-21 20:51:44
【问题描述】:
当我尝试向后导入时(示例即将到来),我收到 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 时,由于某种原因它会出错。有什么办法可以解决这个错误,还是不能向后导入(或任何正确的术语)?
【问题讨论】:
-
我会在他们都导入的另一个文件中定义 clsC。递归导入不是很好的做法
-
您正在尝试使用循环导入。这是不好的。只需重新组织您的模块结构即可避免这种情况。
标签: python python-3.x import python-import importerror