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

标签: none 阅读量: 919

添加新评论