需要在导入之前运行python模块吗?

时间:2017-09-28 14:48:41

标签: python python-3.x anaconda

我有三个python文件,名为:Main.py,code1.py,code2.py。 “Main.py”通过“import code1”和“import code2”语句调用另外两个。 code1和code2正在接收一些数值数组,并分别使用function1和function2返回一些其他数值数组。

这是我的问题:当我打开main.py并运行它时,它会说:

“名称function1未定义”

然后,在运行code1.py和code2.py之后,它可以运行。完成工作后,我退出了python。第二天,当我打开并运行main.py时,又出现了同样的问题。

问题:为什么每次运行main.py之前都需要运行code1.py和code2.py?有没有办法解决这个问题?

谢谢!

注意:我使用Spyder 3.1.4在Anaconda 4.4.0上使用Python 3.6.1

1 个答案:

答案 0 :(得分:3)

在code1.py和code2.py文件中,应分别包含名为__all__ = ['function1']__all__ = ['function2']的变量。这个列表包含要导入的函数的名称。在Main.py中导入时,使用:from code1 import *和code2.py一样,并且应该可以正常工作。