python 3″侧面“Sideways” “相对导入

Python 3 “Sideways” Relative Import

本问题已经有最佳答案,请猛点这里访问。

我的文件结构像

1
2
3
4
5
6
7
math/
    snippets/
        numerical_methods.py
    homework1/
        main.py
    homework2/
        main.py

在家庭作业1的main.py中,我想做

1
from ..snippets.numerical_methods import fixed-point-iteration

这样我就不必为我在其中使用的每一个任务重新编写这个算法。但我得到的错误是"父模块"未加载,无法执行相对导入。我做错什么了?


您不能从高于主脚本的层次结构中导入内容,即高于homework1文件夹的内容。您可以将路径添加到要导入路径的脚本中:

1
2
3
import sys
sys.path.append("..")
from snippets.numerical_methods import fixed-point-iteration