我有三个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
答案 0 :(得分:3)
在code1.py和code2.py文件中,应分别包含名为__all__ = ['function1']
和__all__ = ['function2']
的变量。这个列表包含要导入的函数的名称。在Main.py中导入时,使用:from code1 import *
和code2.py一样,并且应该可以正常工作。