python自动化测试笔记7-python基础。import的本质和顺序;连接redis、redis增删改查和常用方法;新建、读取、修改excel;flask模块写接口

python自动化测试笔记7-python基础
今天主要学习的内容是
1、import的本质
import一个模块,就是运行该模块下的代码。另外,如果该模块又导入了另一个模块,另一个模块的代码同样会被执行.
模块当中增加 if name==‘main’:#用于判断。如果是别的文件导入这段代码所在的文件,只执行此段代码以上的内容,下面的代码不执行。

from w import selectKey #只导入w模块下的selectKey方法
selectKey()#调用方法不用加模块名字

2、import 模块的顺序

2.1、如果该模块在当前目录下,先执行当前目录下的。2,2、如果当前目录下不存在该模块,则从(sys.path)中查找, python内置的模块都是在这个目录下的。2.3、自己创建的模块可以存放到(sys.path)目录。然后执行sys.path.append(‘路径’)。或者sys.path.append([0],‘路径’)

import random
#import sys
#sys.path.append('/Users/liuchang/PycharmProjects/untitled/测试')
#print(sys.path)
#import ceshi

3、连接redis

import redis
ip='118.24.3.40'
password='******'
r=redis.Redis(host=ip,password=password,port=6379,db=3,decode_responses=True)
#连接redis,加上decode_responses=True,写入的键值对中的value为str类型,不加这个参数写入的则为字节类型。

3.1 redis增删改查

string格式的数据

  # # r.set('liuchang','hahaha')
    # r.delete('zhuzhu')#删除key为'zhuzhu'的数据
    # r.set('liuchang','{"name":"刘畅","password":"123456","account":11234,"随便":"随意"}')
    # #r.set('liuchang','''{'name':"刘畅","password":"123456","account":11234,"随便":"随意"}''')#存的都是字符串。所以,单引号双引号都能存进去。
    res=r.get('liuchang')#获取数据
    encode()#二进制转字符串
    decode()#字符串转二进制

hash类型的数据

# r.hset('liuchang2','体重','121213')#添加hash类型的数据。名字不能和string类型的key值相同,否则会报错
# # r.hset('liuchang2','身高','121213')
# # print(r.hget('liuchang2','身高'))#获取key为身高的数据,类型为二进制
# print(type(r.hget('liuchang2','体重')))
print(r.type('liuchang2'))#liuchang2是hash类型
# print(type('体重'))#key的类型和字典里的key的类型一样,一般也是字符串和数字
# r.hdel('liuchang2','身高')#删除key为身高的数据
# r.delete('liuchang2')#删除liuchang2里的所有数据
print(r.hgetall('liuchang2'))

其他方法

   # # r.flushall()#清空所有数据库数据
    # # r.flushdb()#清空当前数据库
    # print(r.keys())#获取到所有的key,存放到list
    # print(r.keys('*session*')) #模糊查询带有session的key,存放到list
    # #r.set('刘畅','猪八戒',60)#写入一个数据,60秒后数据过期,自动清除

迁移redis。把端口为6379的redis数据迁移到端口为6378的redis数据库

import redis
ip = '118.24.3.40'
password='HK139bc&*'
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写数据,这应该是最基本的。没有合并单元格,选字体,加粗,下划线等操作

import xlwt #xlwt是什么
book= xlwt.Workbook()#Workbook方法
# sheet=book.add_sheet('学生表')#添加一个sheet页,参数是命名sheet页的名字
# stu_info =[
#     ['编号', '姓名', '密码', '性别', '地址'],
#     [1, 'machunbo', 'sdfsd23sdfsdf2', '男', '北京'],
#     [2, 'machunbo2', 'sdfsd23sdfsdf2', '男', '北京'],
#     [3, 'machunb3', 'sdfsd23sdfsdf2', '男', '北京'],
#     [4, 'machunbo4', 'sdfsd23sdfsdf2', '男', '北京'],
#     [5, 'machunbo5', 'sdfsd23sdfsdf2', '男', '北京'],
#     [6, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
#     [7, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
#     [8, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
#     [9, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
#     [10, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
#     [11, 'machunbo6', 'sdfsd23sdfsdf2', '男', '北京'],
# ]
# row=0#行
# col=0#列
# for i in stu_info:
#     col=0
#     for j in i:
#         sheet.write(row,col,j)
#         col+=1
#     row+=1
# book.save('stu5.xlsx')

#读excel

# import xlrd
# book =xlrd.open_workbook('stu4.xls')
# sheet = book.sheet_by_index(0)#按照序号选择sheet页
# sheet = book.sheet_by_name('sheet1')#按照sheeet的名称选取sheet页
# res=sheet.cell(0,0).value#获取单元格的数据,str
# r=sheet.row_values(0)#获取第一行的数据,list
# c=sheet.col_values(1)#获取第二列的数据,list
# print(sheet.nrows) #获取行数
# print(sheet.ncols) #获取列数
# print(res)
# print(r)
# print(c)
# for row in range(0,sheet.nrows):#循环行数
#     print(sheet.row_values(row))#获取每行结果
#book.save('stu4.xls')#,刚开始打开了Excel,取完数据之后,关闭Excel

#修改excel,和读Excel使用的模块一样

# import xlrd
# from xlutils import copy#导入copy  excel的方法
# book = xlrd.open_workbook('stu.xls')#修改excel,首先要打开excel。和读excel一样
# new_book=copy.copy(book)#修改excel需要拷贝一下
# sheet=new_book.get_sheet(0)#修改excel的时候,用get_sheet()
# sheet.write(0,0,1)#修改一个单元格的。也可以通过循环着一个一个修改单元格。
# new_book.save('stu.xls')#修改完之后保存excel

#写接口。不是特别懂。利用flask模块,充当一个小型的webs服务器。把当前python文件当作一个服务。然后写接口函数。在函数前加@server.route(’/login’,methods=[‘get’])。这个函数就装饰成了接口。定义路径,和接口类型。然后写函数体数据。

# import flask
# import tools#这是自己写的工具
# import json
# server = flask.Flask(__name__)
# #新建一个服务,把当前这个python文件当做一个服务
#
#
# @server.route('/login',methods=['get'])#装饰函数。使函数变成一个接口。前面是路径,后面是方法,默认是get。
# def hello():
#     uname = flask.request.values.get('username')#新建参数
#     pd = flask.request.values.get('passwd')#新建参数
#     sql = 'select * from app_myuser where username="%s"'%uname
#     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,indent=4)#返回信息。json.dumps把字典转成json串,json.loads(json_str)#把json串变成字典
# server.run(host='0.0.0.0',port=8000,debug=True)

你可能感兴趣的:(基础,python)