如果我的文件frame.py和bindings.py都分别带有Frame和Bindings类,我可以使用from bindings import Bindings
将bindings.py文件导入frame.py,但是我该怎么做将frame.py文件导入到我的bindings.py文件中。如果我使用import frame
或from frame import Frame
,则会收到错误ImportError: cannot import name 'Bindings' from 'bindings'
。有没有解决我的代码的办法吗?
答案 0 :(得分:0)
请尝试使用from bindings import Bindings
。而不是使用import bindings
。
答案 1 :(得分:0)
这就是我们所说的循环导入。让我们来看一个例子。我们有两个文件:
frame.py
from bindings import Bindings
class Frame:
pass
bindings.py
class Bindings:
pass
print("class Binding here")
from Frame import Frame
首先要知道的是,每当我们导入文件时,导入的文件中的代码也会同时执行。因此,在我的示例中,当您运行frame.py
文件时,它将首先执行bindings.py
文件,在该文件中还将找到所需的内容(即类Bindings
)。在执行bindings.py
文件的同时,from Frame import Frame
行将执行frame.py
文件,得到它想要的内容(即类Frame
)。