码迷,mamicode.com
首页 > 其他好文 > 详细

相对路径

时间:2018-04-10 16:04:39      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:级别   标准   结构   决定   不能   执行   根据   推荐   解释   

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是顶层模块。

基本上遵循下面的原则:

  1. 如果是绝对导入,一个模块只能导入自身的子模块或和它的顶层模块同级别的模块及其子模块
  2. 如果是相对导入,一个模块必须有包结构且只能导入它的顶层模块内部的模块。

如果一个模块被直接运行,则他自己为顶层模块,不存在相对路径。

相对导入可以避免硬编码,对于包的维护是友好的。绝对导入可以避免与标准库命名的冲突,实际上也不推荐自定义模块与标准库命令相同。

相对导入与绝对导入仅用于包内部。

相对路径

标签:级别   标准   结构   决定   不能   执行   根据   推荐   解释   

原文地址:https://www.cnblogs.com/Roc-Atlantis/p/8718500.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!