假设目录mypackage
包含__init__.py
、module_a.py
和module_b.py
三个文件。
如果module_a
想要访问module_b
,它必须访问import mypackage.module_b
或import module_b from mypackage
。只是import module_b
失败了。
首先:为什么?
第二,这是个问题吗?
第三:如果是,最好的处理方法是什么?
Python 3使用绝对导入;任何非限定名都被视为顶级模块或包。
如果你想从包内导入,使用.
相对包前缀;.
是当前包,..
是父包,以此类推。
所以从你的mypackage
包中,你可以访问其他模块:
from . import module_b
请参阅Python教程的Intra-package References部分和import
语句参考。