python-共享模块代码


概述:将一个自己定义的输出多重列表元素的函数模块共享出来。

1.首先为模板创建一个文件夹

编辑nester.py文件,内容如下:

def print_lol(the_list):
    for each_item in the_list:
        if isinstance(each_item,list):
            print_lol(each_item)
        else:
            print(each_item)

2.在新建文件夹中创建一个名为”setup.py”的文件

源码如下

from distutils.core import setup

setup(
        name = 'nester',
        version = '1.0.0',
        py_moudles = ['nester'],
        author = 'csuldw',
        author_email = 'csu.ldw@csu.edu.cn',
        url = 'http://www.csuldw.com',
        description = 'A simple printer of nested lists',

)

现在已经有了一个文件夹,其中包含两个文件:模板代码放在nester.py中,模板的有关元数据放在setup.py中。现在来构建你的发布。

3.构建一个发布文件

在centos上运行

python2 setup.py sdist

会出现下列的信息
这里写图片描述

4.将发布安装到你的python本地副本中

终端执行:

python2 setup.py install 

这里写图片描述
发布已经准备就绪

安装前文件夹nester中只有nester.py和setup.py两个文件,安装后有:dist MANIFEST nester.py nester.pyc setup.py 四个文件。

5.测试

在终端输入:

import nester
lists=[[xuxu,1991,huanhua,hunau],ldw,csu]
print_lol(lists)

此时第三行会报错,因为python的模板实现命名空间,用来作为标识符
想要调用print_lol正确命令应该是:

nester.print_lol(lists)

结果:
这里写图片描述

 

评论关闭