自己写的函数,为了下一次方便用,做成模块

主要有这几个步骤:

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

python制作模块的更多相关文章

  1. Python——制作模块

    步骤一:创建包 步骤二:编辑示例模块代码 __init__调用: 步骤三:创建setup.py from distutils.core import setup setup(name="pa ...

  2. 如何制作python安装模块(setup.py)

    Python模块的安装方法: 1. 单文件模块:直接把文件拷贝到$python_dir/lib 2. 多文件模块,带setup.py:python setup.py install 3. egg文件, ...

  3. python制作简单excel统计报表2之操作excel的模块openpyxl简单用法

    python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...

  4. python 常用模块(转载)

    转载地址:http://codeweblog.com/python-%e5%b8%b8%e7%94%a8%e6%a8%a1%e5%9d%97/ adodb:我们领导推荐的数据库连接组件bsddb3:B ...

  5. 使用python制作ArcGIS插件(4)界面交互

    使用python制作ArcGIS插件(4)界面交互 by 李远祥 插件界面部分,除了一开始在设计器中设计的这些界面元素之外,还可以与操作系统进行一些输入输出的交互,这部分的实现全部在pythonadd ...

  6. 使用python制作ArcGIS插件(3)ArcPy的使用说明

    使用python制作ArcGIS插件(3)ArcPy的使用说明 by 李远祥 ArcPy 是一个以成功的 arcgisscripting 模块为基础并继承了 arcgisscripting 功能进而构 ...

  7. 使用python制作ArcGIS插件(1)工具介绍

    使用python制作ArcGIS插件(1)工具介绍 by 李远祥 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是 ...

  8. python高级-模块(14)

    一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...

  9. Python之模块和包

    一.模块 1.什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编 ...

随机推荐

  1. Hive常用操作命令

    创建数据库>create database db_name;>create database if not exists db_name;//创建一个不存在的数据库final查看数据库&g ...

  2. 20175317 《Java程序设计》第五周学习总结

    20175317 <Java程序设计>第五周学习总结 教材学习内容总结 第五周我学习了教材第六章的内容,了解了接口的知识,学到了以下内容: 明白了什么是接口 学会了如何实现接口 了解了接口 ...

  3. [Spring MVC] 表单提交日期转换问题,比如可能导致封装实体类时400错误

    三种格式的InitBinder @InitBinder//https://stackoverflow.com/questions/20616319/the-request-sent-by-the-cl ...

  4. C#时间戳的简单实现

    Introduction: 在项目开发中,我们都经常会用到时间戳来进行时间的存储和传递,最常用的Unix时间戳(TimeStamp)是指格林尼治时间1970年1月1日0时(北京时间1970年1月1日8 ...

  5. java ----> 注解/反射

    注解 一个例子,摘自Junit-4.12.jar源码. 1 @Retention(RetentionPolicy.RUNTIME) 2 @Target({java.lang.annotation.El ...

  6. vue分页控件

    下载:https://pan.baidu.com/s/1c125Vgc 一个简单的分页控件: 自动加载模式: 手动加载模式: loading图标使用了iconfont: 主要方法: beginRefr ...

  7. yii中的restful方式输出并调用接口和判断用户是否登录状态

    //创建一个控制器接口 返回的是restful方式 <?php namespace frontend\controllers; use frontend\models\Fenlei; use f ...

  8. input type="tel" 输入框显示密文

    为了在移动端实现密码输入框且调起的键盘为数字键盘,可以用-webkit-text-security:disc;text-security:disc;属性来实现. 语法: text-security: ...

  9. Servlet 会话技术cookie和session

    会话技术 Cookie技术:会话数据保存在浏览器客户端. Session技术:会话数据保存在服务器端. 一.Cooke技术 1. 特点 Cookie技术:会话数据保存在浏览器客户端. 2 .Cooki ...

  10. caffe安装

    安装caffe的时候一定要保持一个乐观的心态,不然容易放弃人生.由于自己是装完才写的,所以并没有截图. 平台:Window7 硬件:NVIDIV quaro M4000 软件:Visual Studi ...