在Python中导入不同目录中的文件

时间:2017-11-28 11:14:32

标签: python python-import directory-structure relative-import

我有一个像这样的目录结构:

dir/
   frontend.py
   dir1/main.py
   dir2/backend.py
  • 如何在Python中使用main导入后端?
  • 如何在Python中导入main中的前端?

在Stackoverflow上尝试了所有答案。似乎没什么用。

2 个答案:

答案 0 :(得分:1)

在要从中导入源文件的任何文件夹中,您需要拥有现有的 init .py文件。

我会建议像:

这样的结构
dir/
   main.py
   dir1/frontend.py
   dir1/__init__.py
   dir2/backend.py
   dir2/__init__.py

然后以下列方式导入它们(在main.py中):

import dir1.frontend
import dir2.backend

答案 1 :(得分:1)

在Python项目中导入文件时,只有一条规则

您必须将包relative导入到项目运行所在的directory

例如问题main.py应该有这样的内容:

from dir.frontend import *
from dir.dir2.backend import *

但是,您必须在main.py下方dir/导入dir/dir1/main.py,然后运行python main.py

因此,请尽量将main.py始终保留在head directory中,这样您就不必担心上述情况。

只有一个规则: Everything has to be imported relatively to the directory from where the project is run.