在文件夹中加入了__init__.py后,此文件夹变为一个包(package),其必须存在import.一个包名,就等于执行了这个包下的__init__文件。
以data/dataset.py为例
-
什么都不写
from data.dataset import DogCat -
写入from .dataset import DogCat
from data import DogCat
import data / dataset=data.DogCat -
可以from data import mars直接载入data下mars.py这个文件的所有东西
main的运行结果:
但是
import data
a=data.mars.Mars()
这么写就不行,因为mars是个.py的模块不能这样引用.
- 补充
from . import module_name。导入和自己同目录下的模块。
from .package_name import module_name。导入和自己同目录的包的模块。
from … import module_name。导入上级目录的模块。
from …package_name import module_name。导入位于上级目录下的包的模块。
当然还可以有更多的.,每多一个点就多往上一层目录。