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