模块,用一砣代码实现了某个功能的代码集合。
类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。
如:os 是系统相关的模块;file是文件操作相关的模块
模块分为三种:
自定义模块
内置模块
开源模块
一、自定义模块
1. 自定义模块:在python编辑器中定义好函数后,将函数保存在python编辑器的 lib目录下 以 .py 结尾的文件或者新建模块文件。
方法一
方法二
2. 导入模块
Python之所以应用越来越广泛,在一定程度上也依赖于其为程序员提供了大量的模块以供使用,如果想要使用模块,则需要导入。导入模块有以下几种方法:
1) sys 标准库中模块
import sys
print sys.version # 查看编辑器的版本信息;
print sys.executable # 查看编辑器的执行目录;
print sys.getwindowsversion() # 获取win 系统信息;
print sys.modules.keys() # 查看已经导入的模块;
2) from ... import‘模块'或‘*’
from ... import 模块 # 可以一次导入一个方法;
from ... import * # 可以一次导入所有方法;
from ... import name as rename # 导入的模块取别名;
导入模块其实就是告诉Python解释器去解释那个py文件
导入一个py文件,解释器解释该py文件
导入一个包,解释器解释该包下的 __init__.py 文件
默认搜寻模块的地址:
>>> import sys
>>> sys.path
['', '/usr/local/lib/python35.zip', '/usr/local/lib/python3.5', '/usr/local/lib/python3.5/plat-linux', '/usr/local/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/site-packages']
如果sys.path路径列表没有你想要的路径,可以通过 sys.path.append('路径') 添加。
通过os模块可以获取各种目录,例如:
import sys
import os
pre_path = os.path.abspath('../')
sys.path.append(pre_path)
二、 开源模块
1.下载安装 -- 有两种方式
方法一 | 方法二 |
yum ... | 下载源码 |
pip ... | 解压源码 |
apt-get ... | 进入目录 |
编译源码 python setup.py build | |
安装源码 python setup.py install |
注:在使用源码安装时,需要使用到gcc编译和python开发环境,所以,需要先执行:
yum install gcc yum install python-devel
或 apt-get python-dev
安装成功后,模块会自动安装到 sys.path 中的某个目录中。