1.cd.. 回退到上一层 cd../.. 回退两层
2.from . import module(模块名)
点表示在同一级目录。可以直接相对导入。
from .. import module 回退到上一级
3.文件夹被python解释器视为package需要同时满足两个条件:
①·文件夹中必须有__init__文件,文件可以为空,但必须存在。
②·不能作为顶层模块来执行该文件夹中的py文件(即不能作为主函数的入口)
4.跨模块导入补充
创建的目录和包
manage模块
crm模块导入到manage里,
crm
5.绝对导入和相对导入
绝对导入:from a import b 或者直接import b
相对导入:from . import b 或者 from ..a import b
python是根据__name__来决定一个模块在包中的结构的。如果__name__是 __main__则他本身是顶层模块,没有包结构。
如果是a.b.c 结构,则a是顶层模块。
基本上遵循下面的原则:
如果一个模块被直接运行,则他自己为顶层模块,不存在相对路径。
相对导入可以避免硬编码,对于包的维护是友好的。绝对导入可以避免与标准库命名的冲突,实际上也不推荐自定义模块与标准库命令相同。
相对导入与绝对导入仅用于包内部。
原文地址:https://www.cnblogs.com/Roc-Atlantis/p/8718500.html