从原始文件

时间:2016-06-10 21:31:43

标签: python import

我有一个Python程序 A 导入另一个程序 B

程序 A 有一个函数foo以及主类和全局变量等。

程序 B 有一个函数bar

程序 的主要功能是在运行时运行用户输入为条形,因此 A 调用条形:B.bar(stuff)

B.bar()尝试致电A.foo()。这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

正确的方法是尽可能避免这样做,例如:有第三个脚本C包含foo,以避免任何循环。

另一种解决方法是像这样写B

def bar():
    from A import foo
    foo()

并且不在顶级导入A。这样导入仅在调用bar时发生,因此A已经完全加载,并且您不会收到导入错误。