基本上我有3个模块,所有的海誓山盟沟通并导入海誓山盟的功能。我试图从创建程序的GUI我shigui.py模块导入功能。现在我有一个获得在GUI用户条目的值的功能,我想将它们传递给其他模块。我想通过以下功能:
def valueget():
keywords = kw.get()
delay = dlay.get()
category = catg.get()
所有的进口罚款去,直到我尝试导入该功能与
from shigui import valueget
到另一个模块,将使用的值。事实上,我无法导入任何功能,从这个文件中的任何模块。另外我想补充一点,他们是在同一个目录。我感激在这个问题上的任何帮助。
好吧,我不能完全肯定的什么什么进口的,但这里是我可以告诉你。蟒有时可以允许循环依赖。然而,这取决于你依赖的布局。首先,我想说看看有什么办法可以防止这种情况的发生(重组你的代码等)。如果无法避免再有一两件事你可以试试。当Python进口模块,它在代码执行的顺序这样做。这意味着,如果你在导入之前有一个定义,有时可以通过导入第一模块的第二模块在访问第一个模块中的定义。让我举个例子吧。考虑你有两个模块,A和B.
A:
def someFunc():
# use B's functionality from before B's import of A
pass
import B
B:
def otherFunc():
# use A's functionality from before A's import of B
pass
import A
在这样的情况时,Python会允许这样。但是,进口后的一切并不总是公平的游戏,所以要小心。如果你想知道为什么这个工程可以Python的模块系统上读了起来。
帮助,但不是完整的链接:https://docs.python.org/3/tutorial/modules.html