https://docs.python.org/3/reference/import.html#importsystem
导入模块的三个方法:
1.import
关键字
2.importlib.import_module()
3.__import__()
import
本质上调用__import()__
方法
属性 | 描述 |
---|---|
__name__ | 模块的名称(文件名),如果是入口,则为__main__ |
__loader__ | The loader attribute must be set to the loader object that the import machinery used when loading the module |
__package__ | 顶层的package名 |
__spec__ | |
__path__ | 如果module包含__path__ 属性,则他是一个package |
__file__ | module的绝对路径 |
__cached__ |
package相对导入
package/
__init__.py
subpackage1/
__init__.py
moduleX.py
moduleY.py
subpackage2/
__init__.py
moduleZ.py
moduleA.py
In either subpackage1/moduleX.py or subpackage1/init.py, the following are valid relative imports:
from .moduleY import spam
from .moduleY import spam as ham
from . import moduleY
from ..subpackage1 import moduleY
from ..subpackage2.moduleZ import eggs
from ..moduleA import foo
参考:
package
和namespace package
https://blog.csdn.net/chaoguo1234/article/details/81277587