您的位置:首页 > 编程语言 > Python开发

python制作模块

2017-06-24 11:08 337 查看
自己写的函数,为了下一次方便用,做成模块

主要有这几个步骤:

1:准备发布

2:构建发布

3:导入模块并使用

1:准备发布

首先,我自己写的一个打印出列表(含嵌套列表),打印出列表中的每个数据项,文件名为print_list.py

#encoding=utf8

"""这是print_list模块,提供了一个名为print_list()的函数,这个函数的作用是打印列表,其中有可能包含嵌套列表"""

def print_list(lists):
"""这个函数取一个位置参数,名为lists,这可以是任何python列表(也可以是包含嵌套列表的列表),所指定的列表中的每个数据项会
(递归的)输出到屏幕上,各数据项占一行"""
for each_item in lists:
if isinstance(each_item,list):
print_list(each_item)
else:
print(each_item)


然后,准备setup.py文件,在这个文件里包含有关发布的元数据

from distutils.core import setup

setup(
name="print_list",
version="1.0.0",
py_modules=['print_list'],
author="lile",
author_email="836217653@qq.com",
url = "http://www.cnblogs.com/lemon-le/",
description="A simple printer of print_list lists"
)


2:构建发布

把print_list.py与setup.py放在同一个目录下,并且在这个目录下,执行python3 setup.py sdist构建一个发布文件

lile@vst:~/python/heihei$ python3 setup.py sdist
running sdist
running check
warning: sdist: manifest template 'MANIFEST.in' does not exist (using default file list)

warning: sdist: standard file not found: should have one of README, README.txt

writing manifest file 'MANIFEST'
creating print_list-1.0.0
making hard links in print_list-1.0.0...
hard linking print_list.py -> print_list-1.0.0
hard linking setup.py -> print_list-1.0.0
creating dist
Creating tar archive
removing 'print_list-1.0.0' (and everything under it)


然后,将发布安装到本地副本中,也就是安装到python3的安装目录下面去sudo python3 setup.py install

lile@vst:~/python/heihei$ sudo python3 setup.py install
[sudo] password for lile:
running install
running build
running build_py
creating build
creating build/lib
copying print_list.py -> build/lib
running install_lib
running install_egg_info
Removing /usr/local/lib/python3.4/dist-packages/print_list-1.0.0.egg-info
Writing /usr/local/lib/python3.4/dist-packages/print_list-1.0.0.egg-info


3:导入模块并使用

然后就可以使用刚刚这个模块了,设置一个列表变量,倒入print_list模块,并调用print_list函数打印出列表的所有数据项

lile@vst:~/python/heihei$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import print_list
>>> a=["Sun","Rain",["simle",["heihei","Today is beautiful day"]]]
>>> print_list.print_list(a)
Sun
Rain
simle
heihei
Today is beautiful day
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: