Python构建发布

1.模块代码放在nester.py中。模块有关的元数据放在setup.py中。

nester.py

 

"""这是nester.py模块,提供一个名为pint_lol()的函数,这个函数的作用是打印列表。这个列表中可以嵌入列表,也可以没有"""

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

 

 

 

 

 

setup.py

 

from distutils.core import setup
setup(
    name = 'nester',
    version = '1.0.0',
    py_modules= ['nester'],
    author = 'zxm',
    author_email = 'emon0408@163.com',
    url = 'http://blog.csdn.net/zhang_xiaomeng',
    description = 'A simple printer of nested lists',
    )


2.构建一个发布文件

 

windows下,打开cmd,转到nester.py的文件夹下:

输入命令:“D:\Program Files\Python\python.exe” setup.py sdist

注意:为什么在python.exe的路径上加引号呢?因为路径中有空格。

3.将发布安装到Python本地副本中。

输入命令:“D:\Program Files\Python\python.exe” setup.py install

3.导入模块并使用

import nester

cast = ['Plain','Cleese','Idle']

nester.print_lol(cast)
Python中的所有代码都与一个命名空间关联。主Python(以及IDLE shell中)的代码与一个名为_main_的命名空间关联。将代码放在其单独的模块中时,Python会自动创建一个与模块同名的命名空间。所以,你的模块中的代码会与一个名为nester的命名空间关联。就像人的姓氏一样。

 

命名空间限定的格式如下:

首先是模块名,然后是一个点号,再后面是函数名。

 

如果使用from nester import print_lol,会把指定的函数(这里就是print_lol)增加到当前命名空间中,这样一来,就不必再使用命名空间限定。

 

注意:如果你的当前命名空间中已经定义了一个名为print_lol的函数,这个特定import语句会用导入的函数覆盖你自己定义的函数,而这可能并不是你原来期望的行为。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值