模块的使用
模块的介绍和导入
程序越庞大,把函数分组(比如说把文件操作,图形处理,网络通信分门别类),一个或者多个.py文件构成一个模块。
优点:
1.这样的结构可维护强,提高代码可维护性。写好的模块还可以被引用(其中就包括python内置模块和第三方模块)
2.避免函数名和变量名冲突,每个模块有独立的命名空间,因此相同名字的变量和函数可以分别存在不同的模块中
模块分类:
1.标准模块(内置库)
2.第三方模块
3.自定义模块
模块导入与调用
import os,sys #导入os,sys模块,就可以使用os.rename
from os import rename #导入os模块里的rename功能
自定义模块
模块查找路径
安装第三方模块
https://pypi.python.org/pypi是python的开源模块库,只要注册一个账号就可以往这个平台上传你自己的模块
安装方法:
1.以上网站下载安装
编译源码 python setup.py build
安装源码 python setup.py install
2.pip安装(会自动下载模块包并安装)
一般会被自动安装你python安装目录的这个子目录里:/your_python_install_path/xxx版本/lib/python xxx版本/site-packages
pip3 install paramiko #paramiko 是模块名
还可以使用国内的豆瓣源,数据会定期同步国外官网,速度快(推荐)
pip install -i http://pypi.douban.com/simple/ alex_sayhi --trusted-host pypi.douban.com #alex_sayhi是模块名
-i 后面跟的是豆瓣源地址
—trusted-host 得加上,是通过网站https安全验证用的
3.升级pip
python -m pip install --upgrade pip
4.easy_install
可以在pip不好使的时候试试看(亲测)可用来安装更新安装包
os&sys模块库
时间处理模块
datetime模块
相比于time模块,datetime模块的接口则更直观、更容易调用
随机数random模块
使用场景:如,生成验证码
序列化pickle
import pickle
player_a={'name':'lida','role':'samurai','blood':'100%','weapon':'katana'}
alive_players=['lida','alex','homj']
通过pickle的规则把python数据类型存到硬盘上,这个过程就叫做序列化。把硬盘上的字符串按照pickle的规则转成原来的类型,这个过程叫做反序列化
a_dump=pickle.dumps(player_a) #序列化
print(pickle.loads(a_dump)) #反序列化
序列化好后存到硬盘上
f=open('game.pkl','wb')
f.write(a_dump) 或者 pickle.dump(player_a,f)
读取文件
pickle.load(f)
json(任何语言都通用的文本格式)
用法和pickle同
区别是json只能dump一次,load一次,只支持常规数据类型:str,int,dict,set,list,tuple
json更便于前后端交互
哈希加密模块
pillow
Pillow是PIL的一个派生分支,图像处理库,支持python2和python3