首页 > 解决方案 > 从同一层级的文件夹导入

问题描述

我一直在这个网站上寻找如何导入存储在同一层次结构级别的文件夹中的类。我发现使用..应该带我一个文件夹。或者至少,我是这么读的,因为这个假设似乎是错误的。

src/
    folderStrucutre1/
        __init__.py
        fileToImport.py <- contains A
    folderStrucutre2/
        someFile.py
        __init__.py
abc.py

具有上述文件夹结构,其中fileToImport.py包含一个名为A. 我将如何导入AsomeFile.py?

标签: pythonpython-3.x

解决方案


由于包在 python 中的工作方式,您需要移动srcabc.py进入子文件夹,并为其提供一个__init__.py

更改后的目录结构应如下所示:

package-name/
    package-name/
        folderStructure1/
            __init__.py
            fileToImport.py <- contains A
        folderStructure2/
            __init__.py
            someFile.py
    __init__.py
    abc.py

然后,someFile.py您可以A使用来自父包的相对导入来导入:

from ..folderStructure1.fileToImport import A

最后,您应该打开最顶层的文件夹(abc.py 的父文件夹)以使 IDEintellisense工作


推荐阅读