我有这样的目录结构
dir1/subdir1/module1.py
dir1/subdir2/subdir22/module2.py
假设我将__init__.py添加到每个目录和子目录中。我想从模块2导入module1,然后参考相关问题并尝试其他方式,但找不到解决方案。例如
在module2中,我尝试导入模块1
from .... import subdir1.module1
from ....subdir1 import module1
以上两种导入均会引发语法错误。
最佳答案
这对我有用:
$ mkdir -p dir1/subdir1
$ mkdir -p dir1/subdir2/subdir22
$ touch dir1/{,subdir1,subdir2,subdir2/subdir22}/__init__.py
$ echo 'x = 42' > dir1/subdir1/module1.py
$ echo 'from ...subdir1.module1 import x; print x' > dir1/subdir2/subdir22/module2.py
$ python -m dir1.subdir2.subdir22.module2
42
魔咒是
from ...subdir1.module1 import x
虽然
from ...subdir1 import module1
也可以。
关于python - 从父目录的子目录导入python模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30202267/