向后导入时出现 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 是从它们自己继承的。您可能需要重新考虑所有流程,并可能将脚本合并到一个文件中
当我尝试向后导入时(示例即将到来),我得到一个 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 是从它们自己继承的。您可能需要重新考虑所有流程,并可能将脚本合并到一个文件中