如何解决循环导入问题
我有一个模块用来记录所有的使用日志,叫做(usage.py)。
然后我又创建了一个模块用来画图,叫做(chart.py)。我想要记录使用我这个chart.py的人,所以我在chart.py里引入了usage.py。
到这里一切都很顺利。
现在,我想在usage.py里显示使用情况的图表,所以我尝试在usage.py里引入chart.py。
结果出问题了!
它给我报了这个错:-
ImportError: cannot import name chart.
有没有办法解决这个问题呢?
提前谢谢你。
2 个回答
3
你还可以做以下事情:
# File n°1, toto.py
from tata import tataClass
class totoClass:
def __init__(self,):
# here I can use data from tataClass
# File n°2, tata.py
def method_using_toto():
from toto import totoClass
# here I can use data from totoClass
所以你在包含文件的位置上要非常小心。
3
通常,这种问题可以通过把共享的部分重新整理到一个新的模块里来解决,然后每个原来的模块都去引入这个新模块。