我有一个Python程序 A 导入另一个程序 B 。
程序 A 有一个函数foo
以及主类和全局变量等。
程序 B 有一个函数bar
。
程序 的主要功能是在运行时运行用户输入为条形,因此 A 调用条形:B.bar(stuff)
。
B.bar()
尝试致电A.foo()
。这样做的正确方法是什么?
答案 0 :(得分:0)
正确的方法是尽可能避免这样做,例如:有第三个脚本C
包含foo
,以避免任何循环。
另一种解决方法是像这样写B
:
def bar():
from A import foo
foo()
并且不在顶级导入A
。这样导入仅在调用bar
时发生,因此A
已经完全加载,并且您不会收到导入错误。