我的文件夹结构如下:
project1/app1/app1.py
project1/app2/app2.py
我想将app1.py导入到app2.py 我试过了:
sys.path.insert(0, 'project1/app1')
from app1 import a1
它工作正常,但我不想对路径进行硬编码。简而言之,我不想使用sys导入路径。 我想要这样的东西:
from app1.app1 import a1
请给我一些建议。预先感谢。
答案 0 :(得分:0)
prj/
├── project1/
│ ├── __init__.py
│ └── app1/
│ └── app1.py
│
└── project2/
├── __init__.py
└── app2/
└── app2.py
这使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
由于这些都是软件包,需要加载,因此应使用-m标志从prj文件夹级别运行