1.制作模块
#制作第一个test1模块,直接运行会显示__main__与------------AA-------------
def AA():
print("---------------AA----------------")
print(__name__)
if __name__ == "__main__":
AA()
#制作第二个test2模块,直接运行会产生__main__与-------------BB------------------
def BB():
print("-------------BB------------------")
print(__name__)
if __name__ == "__main__":
BB()
#调用test1模块,显示test1与__main__
import test1
print(__name__)
通过上面的对比,可以发现:
第一:直接运行模块,name = main
第二:调用模块之后,name = “模块的名字”
2.制作包
#第一步:制作文件夹,这里命名testmodul;
#第二步:把模块放入文件夹,这里把上面的test1和test2放入上面建立的testmodul文件夹中;
#第三步:建立初始化文件__init__.py
#建立__init__.py的内容
__all__ = ["test1","test2"]
#__all__所建立的列表中包含哪一个模块,则通过from testmodul import *调用时包含哪一模块
注意:调用包中模块时要按照包名–>模块名–>函数名进行调用,例如
from testmodul import test1
test1.AA()
3.模块发布
1)配置setup.py文件;
from distutils.core import setup
setup(name="xwp",version="1.0",description="swp's module",author="xiaogao",
py_modules=["testmodule.test1","testmodule.test2"])
#创建lib库文件
python3 setup.py build
2)打包文件
#打包模块压缩包
python3 setup.py sdist
3)安装模块
#第一步:拷贝模块压缩包
#第二步:跳转到拷贝路径并解压缩安装包
tar -zxvf 文件名
#第三步:进入解压后文件夹内并进行安装
sudo python3 setup.py install