使用相对名称导入python模块

时间:2017-10-18 17:14:28

标签: python python-import

我很难从另一个文件夹中获得重要的python模块。这是我的文件夹当前的显示方式

foldername/
    __init__.py
    A/
        __init__.py
        spam.py
        grok.py
    B/
        __init__.py
        foo.py

我尝试将grok.py文件中的函数和类导入到B中的foo.py。这就是我foo.py的样子

from ..A.spam import func 

但是,我收到以下错误:

ValueError: attempted relative import beyond top-level package

有人能帮帮我吗?我不明白我哪里出错了

2 个答案:

答案 0 :(得分:0)

您不能像在命令行上那样使用'..'。您必须将“A”文件夹添加到Python路径中。您可以使用sys.path.append('/dir/of/A'),然后使用from A.spam import func

答案 1 :(得分:0)

除了使用sys.path,你还可以在你的python或anaconda" site-packages" -folder中添加* .pth文件,其中包含文件夹的路径" A&#34 ;。 通过from A.spam import func导入@bikemule已经提出。