模块和包
Posted whm1012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块和包相关的知识,希望对你有一定的参考价值。
一、模块
1、模块定义:
模块好比工具包,要想使用这个工具包的工具(就好比函数),就需要导入这个模块
2、怎样使用别人的模块
import 模块名 模块的内容处在独立的命名空间中,不会和你写的代码产生冲突
from 模块名 import要导入的内容,将要导入的内容和你的代码放在同一个命名空间下,好处是方便调用,坏处是容易产生冲突
3、模块器别名
as 给导入的模块起个别名
eg:
4、怎样定义自己的模块
每个python文件都可以作为一个模块,模块的名字就是文件的名字
5、测试模块
模块中的测试代码可以通过__name__变量控制它的执行,如果这个文件独立运行,__name__的值是__main__ 如果这个文件是作为模块被导入的,__name__的值就是文件名。所以可以将测试的代码放在放在下面的条件判断中,这样就不会影响被导入测试文件的输出内容
if __name__==“__main__”
6、自定义模块的路径
查看路径:
添加模块路径:
二:导入模块的路径设置
在导入自己写的模块式时 应该在导入模块之前添加到搜索路径
1、先添加模块搜索路径
sys.path.append(“路径”路径要用双\\\\)
或者 sys.path.insert(0,“路径”)
2、导入模块
import 模块名
3、如果对模块内容进行修改 需要重新导入模块
from imp import reload reload模块名
三、模块的发布和安装
1、发布
新建一个setup.py文件,并在其中进行编写
from distutils.core import setup setup(name=“压缩包名字”,version=“1.0”,description=“描述”,author=“作者”,py_modules=[“suba.aa”,“suba.bb”,“subb.cc”,“subb.dd”])
2 、进入文件所在目录下
python setup.py build #发布
python setup.py sdist #生成压缩包
3、安装自定义模块
(1)解压文件
(2)进入目录
(3)执行:python setup.py install (注意在管理员权限下执行)
四、包
包就是一个目录,在这个目录下可以放多个模块
import 包.模块 from 包 import 模块
1. 无论是import形式还是from...import形式,凡是在导入语句中(而不是在使用时)遇到带点的,都要第一时间提高警觉:这是关于包才有的导入语法
2. 包是目录级的(文件夹级),文件夹是用来组成py文件(包的本质就是一个包含__init__.py文件的目录)
3. import导入文件时,产生名称空间中的名字来源于文件,import 包,产生的名称空间的名字同样来源于文件,即包下的__init__.py,导入包本质就是在导入该文件
4__init__.py文件,这个文件在导入包的时候,会先执行
以上是关于模块和包的主要内容,如果未能解决你的问题,请参考以下文章