Python 从不同目录导入文件

Python 从不同目录导入文件,python,module,package,Python,Module,Package,我的文件夹结构如下: 我想将app1.py导入app2.py 我试过: 它工作得很好,但我不想硬编码的路径。总之,我不想使用sys来导入路径。 我想要这样的东西: 请给我一些建议。提前谢谢 这将使project1和project2文件夹成为包 app1.py greet = "Hello" app2.py from ...prj1.app1.app1 import * print(greet) Output D:\code>>python -m prj.prj

我的文件夹结构如下:

我想将app1.py导入app2.py 我试过:

它工作得很好,但我不想硬编码的路径。总之,我不想使用sys来导入路径。 我想要这样的东西:

请给我一些建议。提前谢谢

这将使project1和project2文件夹成为包

app1.py
greet = "Hello"

app2.py
from ...prj1.app1.app1 import *
print(greet)

Output
D:\code>>python -m prj.prj2.app2.app2
HI
由于这些是包并且需要加载,所以它们应该在prj文件夹级别运行,并带有-m标志

这将使project1和project2文件夹成为包

app1.py
greet = "Hello"

app2.py
from ...prj1.app1.app1 import *
print(greet)

Output
D:\code>>python -m prj.prj2.app2.app2
HI

由于这些是软件包,需要加载,因此应该从prj文件夹级别运行它们,并带有-m标志

您可能想阅读这是
project1
a
软件包
?请在
project1
中包含空的
\uuuu init\uuuuuuuuuuuuuuupy
以使其成为包。我已经在project1文件夹中添加了init.py。您可能想阅读这是
project1
一个
?请在
project1
中包含空的
\uuuuuu init\uuuuuuuuuuuuuuuuuuupy
,使其成为包。我已经在project1文件夹中添加了init.py。@Bitswazky感谢您的编辑。我只是想知道你是如何构造prj的,你是否使用过任何在线格式化程序或代码片段来组织?在mac终端上,我使用
来获得这种结构。也应该在linux终端上可用。@Bitswazsky感谢您的编辑。我只是想知道你是如何构造prj的,你是否使用过任何在线格式化程序或代码片段来组织?在mac终端上,我使用
来获得这种结构。也应该可以在linux终端上使用。
from app1.app1 import a1
prj/
├── project1/
│   ├── __init__.py
│   └── app1/
│       └── app1.py
│
└── project2/
    ├── __init__.py
    └── app2/
        └── app2.py
app1.py
greet = "Hello"

app2.py
from ...prj1.app1.app1 import *
print(greet)

Output
D:\code>>python -m prj.prj2.app2.app2
HI