我有两个文件:“ my_main.py”和“ my_functions.py”。我在“ my_functions.py”中编写了两个函数,“ first_function”和“ second_function”,并将此模块导入了“ my_main.py”中。但是,然后我在“ my_functions.py”中添加了名为“ third_function”的第三个函数:
def first_function():
print("hello1")
def second_function():
print("hello2")
def third_function():
print("hello3")
我发现无法将'third_function'导入到'my_main.py'中,并出现错误-AttributeError:模块'my_functions'没有属性'third_function'。
要了解这一点,我然后在“ my_main.py”中运行:
import my_functions
help(my_functions)
并作为我的输出:
Help on module my_functions:
NAME
my_functions
FUNCTIONS
first_function()
second_function()
由于某些原因,“ my_functions.py”在开始的两个函数之后将无法识别其他功能,这意味着我无法将“ third_function”导入“ my_main.py”。我该如何解决?
答案 0 :(得分:0)
在运行my_main.py之前,请确保已保存文件my_functions.py。除非文件被保存,否则更新将不被识别(third_function的添加)。这样做已经有很多年了,而且仍然不断犯这个错误。编辑不够。需要编辑和保存。
答案 1 :(得分:0)
如果自上次导入以来进行了更改,则需要显式重新加载模块。 this
有一个内置函数您可以按以下方式重新加载模块:
import importlib
importlib.reload(my_functions)
有关更详细的说明,请参见this answer。