我有一个像这样的目录结构:
dir/
frontend.py
dir1/main.py
dir2/backend.py
在Stackoverflow上尝试了所有答案。似乎没什么用。
答案 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.