Python的导入(同一项目内)从其他文件夹的文件吗?

时间:2019-02-01 22:28:57

标签: python import directory

Python的新手,不了解导入的工作方式。我看到一些关于你如何做一个sys.path.append,但我不想这样做,因为这需要进入源代码控制,并与不同的寻路逃跑多个不同的计算机上。如何简单地导入一个文件,是在另一个文件夹,但在同一个项目中?

我的文件结构是

- Project

  - FolderA
    - FileA.py

  - FolderB
    - SubfolderB
      - FileB.py

如何在FileB.py内导入FileA.py?

这不起作用,因为我回来了“没有名为FolderA的模块”:

from FolderA import FileA

class FileB():
...  

2 个答案:

答案 0 :(得分:0)

__init__.py添加到每个目录以将它们转换为软件包。然后就可以用相对进口,如在fileb.py

from ..FolderA import FileA

有关相对导入及其在python中的工作方式的详细说明,请参见Relative imports for the billionth time

答案 1 :(得分:0)

制作子文件夹python packages

确保只有根在python路径上。

更好的是使用一个标准的布局和使用PIP -e安装

请参见this以获得更好的布局。

然后使用绝对导入(例如import package.subpackage.module)或显式相对导入(例如import .module)