博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python自动化学习笔记(七)——import、操作redis、操作Excel、接口开发
阅读量:5078 次
发布时间:2019-06-12

本文共 3389 字,大约阅读时间需要 11 分钟。

1.import

导入模块流程、导入的模块的实质

  1、import xx:import 一个模块的实质就是把这个python文件从头到尾执行一遍

  2、import模块的查找模块的顺序

  •     从当前目录下找
  •     sys.path

从上面2个目录都找不到,那就报错

  3、如果想import一个py文件,有三种方法:

  •     将文件拷贝到当前文件夹
  •     将文件拷贝到sys.path中任意一个路径下
  •     将文件拷贝到pycharm中一个文件夹,并将该文件设置为Sourses Root

2.操作redis

redis是非关系型数据库,数据用key-value的形式存储,不需要通过sql语句来查询数据

2.1 连接redis

  import redis

  r=redis.Redis(host=ip,password=password,port=6379,db=3,decode_responses=True) #连接redis #decode_responses=True,返回str,不加返回bytes类型

2.2 String类型数据的增删改查

1.查询:

  • r.get('lyc_session') #传入一个key,获取value,连接时如果加了decode_responses=True,返回str,不加返回bytes类型

2.新增/修改:

  • r.set('lyc_session',"'aaaaadfdgaaa':'哈哈哈'",100) #第一个参数是key,第二个参数是value,第三个参数是过期时间,不加就重启服务器才会失效

3.删除:

  • r.delete('lyc_session')      #参数是key,key不存在不会报错

2.3 hash类型

1.查询:

  • r.hget('sms_code','177') #获取值,{"a":11111,"b":46464}
  • r.hkeys('sms_code') #获取到这个key里所有内部key,返回一个list
  • r.hgetall('sms_code') #获取这个key里所有的内容,key:value形式

2.新增/修改

  • r.hset('sms_code','1134111','11111')

3.删除

  •  r.hdel('key1','key2')   #删除指定的key,key1下的key2的内容
  •  r.delete('key') #删除整个key,和string类型的使用一样

2.4 其他方法

  • r.type('key') #获取数据类型,传入一个key
  • r.flushall() #清空所有数据库里的数据
  • r.flushdb() #清空当前数据库里的数据
  •  keys=r.keys() #获取所有的key,返回一个list
  •  keys=r.keys('*lyc*') #模糊匹配
  • r.expire('key',10) #设置过期时间

2.5 一个练习

把redis数据库3的数据迁移到数据库4

import redisip='xxxx'password='xxx'r1=redis.Redis(host=ip,password=password,port=6379,db=3,decode_responses=True)    #连接redis  ,返回strr2=redis.Redis(host=ip,password=password,port=6378,db=4,decode_responses=True)    #连接redis  #decode_responses=True,返回str,不加返回bytes类型keys=r1.keys()for key in keys:    res=r1.type(key)    if res=='hash':        hash_data=r1.hgetall(key)        for k,v in hash_data.items():            r2.hset(key,k,v)    else:        value = r1.get(key)        r2.set(key, value)

 

3.操作Excel

 

3.1 写Excel

 

import xlwt

book=xlwt.Workbook()#新建一个excel

sheet=book.add_sheet('sheet1') #添加一个sheet页

sheet.write(row,col,value)  #在第row行,第col列的位置,插入value值

book.save('filename.xls')      #保存到filename这个文件,wps:xls,xlsx 微软:xls

 

3.2读Excel

import xlrd

book=xlrd.open_workbook('stu.xls')
sheet=book.sheet_by_index(0) #获取一张表
print(sheet.cell(0,0).value) #获取指定单元格的内容
print(sheet.row_values(0)) #获取整行的数据
print(sheet.col_values(0)) #获取整列的数据
print(sheet.nrows)        #获取行数
print(sheet.ncols)        #获取列数
for row in range(0,sheet.nrows): #获取所有数据
  print(sheet.row_values(row))

 

3.3修改Excel

 

import xlrd

from xlutils import copy
book=xlrd.open_workbook('stu.xls')
new_book=copy.copy(book)    #得到一个新的book
sheet=new_book.get_sheet(0) #修改excel时候,只能用get_sheet()方法
sheet.write(0,0,'id')        #用write修改,传入行、列、值
new_book.save('stu1.xls')     #保存修改后的文件,原文件不变

4.接口开发

 

import flaskimport toolsimport jsonserver=flask.Flask(__name__)#新建一个服务,把当前python文件当作一个服务@server.route('/login',methods=['get'])     #装饰器,在服务里添加一个接口def hello():    username=flask.request.values.get('username').upper()#获取参数    pd=flask.request.values.get('password')    sql='select * from app_myuser where username="%s"'%username         res=tools.my_db(sql)    if res:        if tools.my_md5(pd)==res.get('passwd'):            res={
'code':0,'msg':'登录成功'} else: res={
'code':1,'msg':'密码错误'} else: res = {
'code': 2, 'msg': '用户不存在'} return json.dumps(res, ensure_ascii=False)#访问形式 ip:port/loginserver.run(host='0.0.0.0',port=11134,debug=True)#启动服务,指定host='0.0.0.0',监听本机所有ip,局域网内的计算机才能访问#debug=True,修改代码后自动重新加载

 

转载于:https://www.cnblogs.com/luoyc/p/10148640.html

你可能感兴趣的文章
复习文件操作
查看>>
SQL Server 使用作业设置定时任务之一(转载)
查看>>
第二阶段冲刺-01
查看>>
BZOJ1045 HAOI2008 糖果传递
查看>>
JavaScript 克隆数组
查看>>
eggs
查看>>
一步步学习微软InfoPath2010和SP2010--第七章节--从SP列表和业务数据连接接收数据(4)--外部项目选取器和业务数据连接...
查看>>
oracle 报错ORA-12514: TNS:listener does not currently know of service requested in connec
查看>>
基于grunt构建的前端集成开发环境
查看>>
利用循环播放dataurl的视频来防止锁屏:NoSleep.js
查看>>
python3 生成器与迭代器
查看>>
java编写提升性能的代码
查看>>
Abstract Factory Pattern
查看>>
list 容器 排序函数.xml
查看>>
《Genesis-3D开源游戏引擎完整实例教程-跑酷游戏篇03:暂停游戏》
查看>>
CPU,寄存器,一缓二缓.... RAM ROM 外部存储器等简介
查看>>
windows下编译FreeSwitch
查看>>
git .gitignore 文件不起作用
查看>>
Alan Turing的纪录片观后感
查看>>
c#自定义控件中的事件处理
查看>>