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:

原文地址:https://www.cnblogs.com/qiaomeiling/p/10131734.html