模块的认识

模块,用一砣代码实现了某个功能的代码集合。

类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。

如:os 是系统相关的模块;file是文件操作相关的模块

模块分为三种:

自定义模块

内置模块

第三方开源模块

自定义模块

1、定义模块

2、导入模块

Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有一下几种方法:

1 import module

2 from module.xx.xx import xx

3 from module.xx.xx import xx as rename

4 from module.xx.xx import *

导入模块其实就是告诉Python解释器去解释那个py文件

导入一个py文件,解释器解释该py文件

导入一个包,解释器解释该包下的 __init__.py 文件

那么问题来了,导入模块时是根据那个路径作为基准来进行的呢?即:sys.path

1 import sys

2 print sys.path

结果:

1 [‘/home/zh/PycharmProjects/s12/day1‘, ‘/usr/local/lib/python2.7/dist-packages/setuptools-18.1-py2.7.egg‘, ‘/usr/local/lib/python2.7/dist-packages/pip-7.1.0-py2.7.egg‘, ‘/usr/local/lib/python2.7/dist-packages/Django-1.8.16-py2.7.egg‘, ‘/home/zh/PycharmProjects/s12‘, ‘/usr/lib/python2.7‘, ‘/usr/lib/python2.7/plat-x86_64-linux-gnu‘, ‘/usr/lib/python2.7/lib-tk‘, ‘/usr/lib/python2.7/lib-old‘, ‘/usr/lib/python2.7/lib-dynload‘, ‘/usr/local/lib/python2.7/dist-packages‘, ‘/usr/lib/python2.7/dist-packages‘, ‘/usr/lib/python2.7/dist-packages/PILcompat‘, ‘/usr/lib/python2.7/dist-packages/gtk-2.0‘, ‘/usr/lib/python2.7/dist-packages/ubuntu-sso-client‘]

如果我们要添加自己的搜索目录,有两种方法:

一是直接修改sys.path,添加要搜索的目录:

>>> importsys

>>> sys.path.append(‘/Users/zh/my_py_scripts‘)

这种方法是在运行时修改,运行结束后失效。

第二种方法是设置环境变量PYTHONPATH,该环境变量的内容会被自动添加到模块搜索路径中。设置方式与设置Path环境变量类似。注意只需要添加你自己的搜索路径,Python自己本身的搜索路径不受影响。

通过os模块可以获取各种目录,例如:

1 importsys

2 importos

3

4 pre_path = os.path.abspath(‘../‘)

5 sys.path.append(pre_path)

第三方开源模块

1、下载安装

下载安装有两种方式:

方法一:利用源码安装

在 github.com 网站可以下载第三方库的源码(或者其它途径),得到源码之后,在本地安装。

一般情况,得到的码格式大概都是 zip 、 tar.zip、 tar.bz2 格式的压缩包。解压这些包,进入其文件夹,通常会看见一个 setup.py 的文件。如果是 Linux 或者 Mac(我是用 ubuntu,特别推荐哦),就在这里运行 shell,执行命令:

Python setup.py install

如果用的是 windows,需要打开命令行模式,执行上述指令即可。

如此,就能把这个第三库安装到系统里。具体位置,要视操作系统和你当初安装 Python 环境时设置的路径而定。默认条件下,windows 是在 C:\Python2.7\Lib\site-packages,Linux 在 /usr/local/lib/python2.7/dist-packages(这个只是参考,不同发行版会有差别,具体请读者根据自己的操作系统,自己找找),Mac 在 /Library/Python/2.7/site-packages。

有安装就要有卸载,卸载所安装的库非常简单,只需要到相应系统的 site-packages 目录,直接删掉库文件即卸载。

1 下载源码

2 解压源码

3 进入目录

4 编译源码 python setup.py build

5 安装源码 python setup.py install

注:在使用源码安装时,需要使用到gcc编译和python开发环境,所以,需要先执行:

1 yum install gcc

2 yum install python-devel

3 或

4 apt-get python-dev

安装成功后,模块会自动安装到 sys.path 中的某个目录中,如:

1 /usr/lib/python2.7/site-packages/

方法二:pip

用源码安装,不是我推荐的,我推荐的是用第三方库的管理工具安装。有一个网站,是专门用来存储第三方库的,所有在这个网站上的,都能用 pip 或者 easy_install 这种安装工具来安装。这个网站的地址:https://pypi.Python.org/pypi

首先,要安装 pip(Python 官方推荐这个,我当然要顺势了,所以,就只介绍并且后面也只使用这个工具)。如果读者跟我一样,用的是 ubuntu 或者其它某种 Linux,基本不用这个操作,在安装操作系统的时候已经默认把这个东西安装好了(这还不是用 ubuntu 的理由吗?)。如果因为什么原因,没有安装,可以使用如下方法:

Debian andUbuntu:

sudo apt-get install Python-pip

Fedora andCentOS:

sudo yum install python-pip

当然,也可以这里下载文件get-pip.py,然后执行 Python get-pip.py 来安装。这个方法也适用于 windows。

pip 安装好了。如果要安装第三方库,只需要执行 pip install XXXXXX(XXXXXX 代表第三方库的名字)即可。

当第三方库安装完毕,接下来的使用就如同前面标准库一样。

2、导入模块

同自定义模块中导入的方式

3、实例:安装第三方模块 paramiko

paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

1 #pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto

2

3 #下载安装 pycrypto

4 wget http://files.cnblogs.com/files/wupeiqi/pycrypto-2.6.1.tar.gz5 tar -xvf pycrypto-2.6.1.tar.gz6 cd pycrypto-2.6.1

7 python setup.py build8 python setup.py install9

10 #进入python环境,导入Crypto检查是否安装成功

11

12 #下载安装 paramiko

13 wget http://files.cnblogs.com/files/wupeiqi/paramiko-1.10.1.tar.gz14 tar -xvf paramiko-1.10.1.tar.gz15 cd paramiko-1.10.1

16 python setup.py build17 python setup.py install18

19 #进入python环境,导入paramiko检查是否安装成功

原文:http://www.cnblogs.com/zhenghaonihao/p/6227453.html

python自定义模块和三方模块_python基础知识8——模块1——自定义模块和第三方开源模块...相关推荐

  1. python语言中tup的意思_Python基础知识: 元组

    原标题:Python基础知识: 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如 ...

  2. python集合的基本操作不包括_Python基础知识储备,List集合基本操作大盘点

    List列表是Python中最基本的数据结构,也是Python中使用频率最高的数据类型,List列表中的元素不需要具有相同类型,使用起来非常方便.现在就来体验一下List列表的基本操作. list集合 ...

  3. python进入内置函数文件_python基础知识-set、函数、内置函数、文件操作

    一.set set集合,是一个无序且不重复的元素集合 1.创建 se = {"123","456"}print(type(se)) s= set() #创建空集 ...

  4. python常见的运算符有哪些_python基础知识--4常见运算符

    1.算术运算符 (一)关于加号运算 # 数字之间相加 # 数字与布尔型 # 字符串之间相加运算 (二)关于减号运算 # 集合之间的差集 (三)关于乘号运算 # 字符串 列表 元祖 print('pyt ...

  5. python的快捷键是什么意思_Python基础知识—快捷键

    最重要的快捷键 1. ctrl+shift+A:万能命令行 2. shift两次:查看资源文件 新建工程第一步操作 1. module设置把空包分层去掉,compact empty middle pa ...

  6. python 列表 元祖 字典 集合_python基础知识之列表、元祖、字典、集合、字符串。...

    1.可变类型之列表 列表用 [ ]来定义是可变的,可以通过索引值来去查询里面的字段可以可以追加,删除等 ```python names='zhangyang guyun xiangpeng xulia ...

  7. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  8. python编程中常用的12种基础知识总结

    python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序.去重,字典排序,字典.列表.字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进 ...

  9. python六十七课——网络编程(基础知识了解)

    网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...

最新文章

  1. 《精通Unix下C语言编程与项目实践》目录
  2. 安装Windows 2012域控(For SQLServer 2014 AlwaysOn)
  3. sublime text 3 快捷键大全以及配置编译环境
  4. SignalR系列教程:SignalR快速入门
  5. 老鸟程序员才知道的40个小技巧
  6. 计算机投诉信英语作文,投诉信A Letter of Complaint
  7. Jenkins环境搭建和部署项目的过程
  8. 我和ASP.NET MVC有个约会
  9. 解决IE8在vs2005下不能调试的问题.
  10. miui游戏驱动程序偏好设置_MIUI 11 期待吗?MIUI 10这几个小设置,你都了解吗?...
  11. 老人机java游戏模拟器_KEmulator(JAVA手机游戏模拟器)
  12. 复制百度文库文字最简单的方法
  13. Tssd2019最新版下载地址和更新说明
  14. SPSS可以生成正交表吗?
  15. 新浪微博开放平台提交审核时Android签名生成
  16. ps 图片 透明度 设置
  17. 亚马逊Alexa技能的创建流程
  18. 【观察】跨入5G新时代,维谛技术(Vertiv)的行与思
  19. 浙江大学许威威教授招聘博士后
  20. 【python学习】matplotlib图例分开显示

热门文章

  1. c语言程序题是如何判分的,C语言编程题判分系统的研究与实现
  2. vuex modules ajax,VUE项目爬坑---6、vuex的真正存在的意义是什么
  3. Xml转换成html表格代码,如何用C++代码将XML文件转换为HTML表格?
  4. 查找单链表的倒数第k个节点,要求只能遍历一次链表(C语言)
  5. 迷你世界显示未连接服务器成功,迷你世界登录未成功是什么意思 | 手游网游页游攻略大全...
  6. python selenium 下载文件_Python Selenium —— 文件上传、下载,其实很简单
  7. 做旋转铁甲机器人_「铁甲评测」柳工CLG921E视频全面讲解
  8. 怎么在linux中查询yum,linux - 如何使用YUM列出包的内容?
  9. android 双层饼图_python:给表格加上双层饼图,让同事的图表黯然失色
  10. php用cdn打不开,开启 CDN 后 wordpress 后台打不开的解决办法