python之模块、包相关内容

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzg_inspur/article/details/84952038

在python中一个.py文件就是一个模块,模块提高了代码的可维护性。

比如有一个app.py模块,

def   add(x,y)

        print(x+y)

我们可以通过import app来导入app模块,这个过程为将app模块下的所有内容装入解释器进行解释,将解释的结果赋值给app这个对象。这样我们就可以通过app.add(x,y)来进行调用

我们也可以通过from app import add  只导入add函数方法。这样我们可以直接使用add(x,y)来进行调用

模块越来越多,大家写的模块名重复的概率就会比较大,为了合理的管理模块,引入了包

包是用来管理模块的,每个包下都有一个__init__.py的文件。

导入包的两种方式:只有这两种方法

不建议使用这样形式:

from 包名 import  *  这种加载的太多,消耗太多的内存空间

from  包名 import  模块名

import  包名   #  执行包下面的__init__.py 这个文件

为了让导入的包名正确,项目能跨平台运行,一般选择项目名这个文件夹作为basedir

os.path.abspath(__file__)  # 获取当前文件的相对路径
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  # 通过这样形式获取项目的路径
sys.path.append(BASE_DIR) # 将项目路径添加到sys.path   从而保证模块以及包能顺利的发现

注意:模块或者包导入的时候,是通过系统路径来进行查找的。也就是sys.path 这个值

猜你喜欢

转载自blog.csdn.net/wzg_inspur/article/details/84952038