Python:初始化模块后,不再可以导入函数

时间:2019-01-18 17:29:36

标签: python

我有两个文件:“ 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”。我该如何解决?

2 个答案:

答案 0 :(得分:0)

在运行my_main.py之前,请确保已保存文件my_functions.py。除非文件被保存,否则更新将不被识别(third_function的添加)。这样做已经有很多年了,而且仍然不断犯这个错误。编辑不够。需要编辑和保存。

答案 1 :(得分:0)

如果自上次导入以来进行了更改,则需要显式重新加载模块。 this

有一个内置函数

您可以按以下方式重新加载模块:

import importlib
importlib.reload(my_functions)

有关更详细的说明,请参见this answer