在python 3.8中循环导入

问题描述

Python 3.8

我不知道如何解决此问题,没有任何建议可以帮助。我真的需要帮助

main.py

import dog
import fox
    
if __name__ == '__main__':
    x_dog = dog.Dog()
    x_fox = fox.Fox(x_dog)

fox.py

import dog

class Fox:
    def __init__(self,x_dog: dog.Dog):
        self.x_dog: dog.Dog = x_dog

dog.py

import fox

class Dog:
    def __init__(self):
        self.x_fox: fox.Fox or None = None

    def set_fox(self,x_fox: fox.Fox):
        self.x_fox = x_fox

结果

Traceback (most recent call last):
  File "main.py",line 1,in <module>
    import dog
  File "dog.py",in <module>
    import fox
  File "fox.py",line 4,in <module>
    class Fox:
  File "fox.py",line 5,in Fox
    def __init__(self,x_dog: dog.Dog):
AttributeError: partially initialized module 'dog' has no attribute 'Dog' (most likely due to a circular import)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)