在 Python 的不同目录中导入文件
Importing files in different directories in Python
我有这样的目录结构:
dir/
frontend.py
dir1/main.py
dir2/backend.py
- 如何在 Python 的 main 中导入后端?
- 如何在 Python 的 main 中导入前端?
已经尝试了 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.
我有这样的目录结构:
dir/
frontend.py
dir1/main.py
dir2/backend.py
- 如何在 Python 的 main 中导入后端?
- 如何在 Python 的 main 中导入前端?
已经尝试了 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.