Python学习之构建发布模块
1、模块可以合理组织代码,并进行复用;
模块就是一个包含Python代码的文本文件。对模块的主要需求就是要求文件名以.py结尾,这是Python扩展名。
根据上面的定义,把一个函数的代码保存到一个以.py结尾的文件中,这个函数就包含在一个模块中了
先来看看一个模块:
def print_lol(the_list,indent=False,level=0):
for each_item in the_list:
if isinstance(each_item,list):
print_lol(each_item,indent,level+1)
else:
if indent:
for tab_stop in range(level):
print("\t",end='')
print(each_item)


2、对上面python进行简介
range():返回一个迭代器,根据需要生成一个指定范围的数字。从0开始,直到(但不包含)某个数的数字列表。
如果入参为负数,则range(-1)返回结果为空集体
print("\t",end='') :end=''作为BIF print的一个参数会关闭其默认行为(即在输入中自动进行换行)。有这个参数后,print不会进行换行

3、准备发布:
在Python中,所谓“发布(Distribution)”是指一个文件集合,这些文件联合一起允许构建、打包和发布模块
在上面nester.py模块文件的同级目录,创建一个名为setup.py的文件。
这个文件包含有关发布的元数据。
需要从Python发布工具导入setup函数
from distutils.core import setup
setup(
name='nester',
version="1.0.0",
py_modules=['nester'],
author='python_learner',
author_email='793059909@qq.com',
url='http://url',
description='A simple printer of list',
)

4、发布工具包含有构建一个发布所需的所有功能。
在nester.py和setup.py所有文件夹在cmd中设置为当前目录,
执行发布命令
命令:
python setup.py sdist


5、查看生成的文件
新增的文件夹dist
生成的文件:MANIFEST-->包括发布中的文件列表
# file GENERATED by distutils, do NOT edit
nester.py
setup.py

6、将发布安装到Python本地副本中
命令:
python setup.py install


7、小结一下:
上面第一步已经构建了模块、发布打包和安装
现在来使用这个新导入的模块
>>> import nester;
>>>
>>> numbers=[1,2,[3.1,3.2,3.3],4,[5.1,5.2,5.3],6]
>>>
>>> nester.print_lol(numbers)

