Day29

1、包

模块是对外提供功能的

如果这个模块勾搭能提供的功能足够多 多到一个文件写不下

把对外提供的功能根据提供的内容不同 分成几个文件 把这些文件放在一个文件夹下 形成了包

直接导入包
imort sys
print(sys.path)


使用绝对路径
导入一个包相当于执行了包下面的__init__.py
form new_pac import glance
绝对路径 被直接执行的文件与包的关系必须是固定的
            一旦发生改变,包内的所有关系都要重新制定
            跨包引用
View Code

相对导入  绝对导入

在glance/api/version.py

#绝对导入
from glance.cmd import manage
manage.main()

#相对导入
from ..cmd import manage
manage.main()
View Code

包就是py模块的集合

自带__init__.py文件

  py2包中必须有一个__init__.py文件

能不能导入一个包:要看sys.path中的路径下有没有这个包

从包中导入模块:把包与包之间的关系写清楚 精确到模块 就一定能导入

直接导入一个包,并不会导入包下的模块,而是执行这个包下的__init__.py文件

如果对导入还有更高的要求

  可以对包中的__init__.py文件做定义

  绝对路径导入的方式

  相对路径导入的方式,使用相对路径导入的模块不能作为脚本执行

原文地址:https://www.cnblogs.com/a352735549/p/8954809.html