python import
import的天坑,先读读
我在stackoverflow上问了个问题,最终发现必须要在test目录和项目根目录放__init__.py
,src里面可以不放。
包和模块(Package/module)
简单理解,模块就是.py
文件,包就是模块所在的目录。
再python3.3之前,目录中还需要有__init__.py
才能称之为包。在这其中定义模块。在3.3之后提出了隐式命名空间包
的概念,可以不定义__init__.py
。
用法
连引号和目录斜杠都省了
导入下级目录之一的包
me.py中:
from sonFolderName import sonPackageFileName
在me.py的目录中运行python me.py
导入上级
from .. import parentPackge
需要在上上级的grandpaFolder按模块-m
运行:
python -m parentFolder.myFolder.me
如果不按这种方式运行,会报错ImportError: attempted relative import with no known parent package