问个好基础的 import 路径问题
imn1目录结构
folder:
--common.py
--A
----__init__.py 0 字节空文件
----a.py
--B
----__init__.py 0 字节空文件
----b.py
就是 folder 为根目录,A 和 B 是 folder 的子目录
common.py 里面
from A import ...
...
解释一下,common 会被多个模块调用,算是前置,它部分内容从 A.a 获取并计算
b.py 里面
import sys
sys.path.append('..')
from common import ...
...
if __name__ == '__main__':
...
现在情况:
folder> py ./B/b.py
“找不到 commn 模块,b.py 第 n 行”
B> py ./b.py
“找不到 A 模块,common.py 第 n 行”
暂时用其他方案是解决了,但想知道:
1.b.py 能否直接运行?
2.这种情况,b.py 该怎么写 import ?
folder:
--common.py
--A
----__init__.py 0 字节空文件
----a.py
--B
----__init__.py 0 字节空文件
----b.py
就是 folder 为根目录,A 和 B 是 folder 的子目录
common.py 里面
from A import ...
...
解释一下,common 会被多个模块调用,算是前置,它部分内容从 A.a 获取并计算
b.py 里面
import sys
sys.path.append('..')
from common import ...
...
if __name__ == '__main__':
...
现在情况:
folder> py ./B/b.py
“找不到 commn 模块,b.py 第 n 行”
B> py ./b.py
“找不到 A 模块,common.py 第 n 行”
暂时用其他方案是解决了,但想知道:
1.b.py 能否直接运行?
2.这种情况,b.py 该怎么写 import ?
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
相当于将 folder 加入到 Python 路径下。