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

Importing files in different directories in Python

我有这样的目录结构:

dir/
   frontend.py
   dir1/main.py
   dir2/backend.py

已经尝试了 Whosebug 上的所有答案。似乎没有任何效果。

在您要从中导入源文件的任何文件夹中,您需要有现有的 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

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

您必须将包 relative 从项目 运行.

导入到 directory

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

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

但是你必须在 dir/ 下有类似 main.py 的东西,它导入 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.