模块与包相关知识点汇总

这篇博文主要来介绍模块与包的相关知识。

首先介绍几个基本定义。

  1. 模块module:对应于python源代码文件,下图中的__init__.py就是一个模块
  2. 包package:多个模块可以组织为一个包,是Python引入的分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。下图中的jieba就是一个包。
  3. 模块的API(Application Programming Interface):用于描述模块中提供的函数的功能和调用方法。
    在这里插入图片描述
    然后介绍几行特别有用的代码。
#查看当前路径
import os
os.getcwd()
#修改当前路径,记得要加引号
os.chdir("路径")
#查看模块的搜索路径,这里的路径随python的安装路径而改变
import sys
sys.path
#临时增加模块搜索路径
import sys 
sys.path.append("路径")

接着介绍模块的几个属性。

  1. __all__属性。当我们使用from 库名import *导入库时,该变量控制模块里哪些属性可以用*导入
  2. __name__属性。每个模块都有一个名称,通过特殊变量__name__可以获取模块的名称;当一个模块被用户单独运行时,其__name__的值为’__main__’。故可以把模块源代码文件的测试代码写在相应的测试判断中,以保证只有单独运行时,才会运行测试代码。

最后介绍模块的打包发布。
第一步,创建包目录。
举个例子,我创建的包目录如下:
|—suba
||———module_1.py
||———module_2.py
||———__init__.py
|—subb
||———module_a.py
||———module._b.py
||———__init__.py
|—setup.py

  1. 子包suba里面有module_1,module_2,__init__.py
  2. 子包subb里面有module_a,module_b,__init__.py
  3. setup.py
    在这里,每一个Python的包目录下面都会有名为__init__.py的特殊文件,该文件可以为空文件,但是必须存在,它表明这个目录不是普通的目录结构,而是一个包,里面包含模块。
    编写setup.py脚本文件,setup.py文件包含的内容如下:
from distutils.core import setup
#setup函数不只有这些参数,用户可以有选择地进行设置
setup(
    name = "baiyanling.package",#包名
    version = "1.0",#版本号
    description = "This is a rat running the maze",#包的描述信息
    author = "beryl",#包的作者
    py_modules = ["suba.module_1","suba.module_2","subb.module_a","subb.module_b"]#包中含有的模块
)

第二步,在当前路径下打开命令行窗口,使用bulid命令构建模块,示例如下:
python setup.py build
经此操作后,当前目录中会创建一个名为build的文件夹,其中包含一个名为lib的文件夹,该文件夹包含了待发布模块的备份。

第三步,用户可以通过sdist建立存放文件,命令如下:
python setup.py sdist
经此操作后,界面如下:在这里插入图片描述
打开dist文件夹后,就可以看到创建的压缩包啦。在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值