如何使用相对导入从父文件夹中的脚本导入函数。
如何使用相对导入从父文件夹中的脚本导入函数。
在脚本中如何导入一个函数,该函数定义在父文件夹的子文件夹中?
在以下文件夹结构中,我想要使用:
root_folder/ utils_folder: __init__.py helper_functions.py(其中定义了Function_A) module_A_folder: Script_A.py(将导入并使用Function_A)
Script_A.py 需要使用 Function_A。
utils_folder 的 __init__.py 定义为:
from .helper_functions import Function_A
当我尝试在 Script_A.py 中像这样导入 Function_A:
from ..utils import Function_A
我收到了以下错误:
ImportError: attempted relative import with no known parent package
如何让这个工作?我使用的是 Python 3.9 x64。
问题的原因是在尝试使用相对导入时出现了错误。具体来说,尝试从父文件夹中的脚本中导入一个函数。然而,尝试的方法导致了一个ModuleNotFoundError
错误,指出找不到名为utils_folder
的模块。
解决这个问题的方法是使用正确的相对导入语法。在这种情况下,应该使用..
来表示父文件夹。以下是正确的解决方法:
from ..utils_folder.helper_functions import Function_A
这样,就可以成功地从父文件夹中的utils_folder
模块中导入Function_A
函数。通过使用正确的相对导入语法,可以避免ModuleNotFoundError
错误的出现。