python(十):模块相关、操作Redis、操作Excel
模块相关
1、导入模块的流程:import XXX
2、导入模块的实质:import一个模块的实质就是把这个python文件从头到尾执行一遍、
3、import模块查找模块的顺序
a、从当前目录下找
b、sys.path(在python自带的环境变量下找)
如下可见sys.path是放在一个列表里面的一些环境变量
从上面两个目录里面都找不到的话,会报错。
解决办法:(1)把这个模块所在的文件放到当前目录下。
(2)把导入这个模块的文件夹添加到环境变量里面
没有添加到环境变量之前导入报错如下:d为python文件的名称
把d所在的文件夹添加到环境变量里面:
(1)通过代码添加(临时修改)
(2)通过pycharm自动添加环境变量
找到文件所在的文件夹目录,点击鼠标右键--->Mark Directory as ---->Sources Root,选择完成之后,文件夹背景变成蓝色,即设置成功
另外:通过pycharm取消环境变量
4、if __name__=='__main__':#判断如果是在别的文件里面导入这个python文件的话,就不执行下面的代码。快捷键:main+enter
pass
Redis操作
1、介绍:Redis是一种非关系型数据库,数据是存在内存里面的,不需要通过sql语句来查询数据,通过key-value形式来存储数据。
另:关系型数据库:mysql、oracle、sql server,数据是存在磁盘上的,需要通过sql语句来操作数据
2、Redis可视化工具操作
(1)连接Redis
3、python操作Redis
step1、安装第三方模块 pip install redis
step2、连接Redis:需要知道IP与密码
port=6379:Redis默认IP;db=10:连接第几个数据库,如果数据库不存在,则创建(Redis默认有16个数据库);decode_responses=True:写入的键值对中的value为str类型,不加这个参数写入的则为字节类型
key为string类型的增删改查
1、新增/修改:set(key,value)--->永久有效;set(key,value,XX)--->XX为失效时间,单位是秒。
2、查询:get(key)
前面带个b为bytes类型。
bytes类型转字符串:s.decode()
字符串转bytes类型:s.encode()
3、删除:delete key
4、清空
5、获取key
6、expire:指定失效时间,在添加key与value时,如果没有设置失效时间,可以后面通过expire设置
key为哈西类型的增删改查
1、新增/修改:hset(name,key,value)里面需要传三个参数
2、查询:hget(name,key):需要传两个参数获取指定的key的值;hgetall(name):获取所有的key和value
3、删除:delete(names)把整个key删除掉
4、查看key的类型:type(name)
练习题:迁移redis
import redis
ip = 'ip'
password='password'
r = redis.Redis(host=ip,password=password,port=6379,db=3,
decode_responses=True)#连接redis
r2 = redis.Redis(host=ip,password=password,port=6378,db=2,
decode_responses=True)#连接redis
all_key = r.keys()
for k in all_key:
if r.type(k) == 'string':
a_data = r.get(k)#从aredis获取到的数据
r2.set(k,a_data)
elif r.type(k) =='hash':
hash_data = r.hgetall(k) # {'key1':'v1',key2:v2}
for key,v in hash_data.items():
r2.hset(k,key,v)
操作Excel
1、写Excel--->pip install xlwt
2、读取Excel--->pip install xlrd
3、修改Excel--->pip install xlutils
接口开发
1、作用:可以自己搭建mock服务;可以给别人提供数据
2、flask:第三方模块,用于搭建web框架和接口开发。pip install flask: