mock介面開發,excel(讀,寫,修改)

2022-09-11 01:57:12 字數 3588 閱讀 2030

mock介面開發

首先需要安裝  flask 模組  :pip install flask

然後引用   from flask import request #想獲取到請求引數的話,就得用這個

lanxia = flask.flask(__name__) #把這個

python

檔案當做乙個

web服務

@lanxia.server('/login',[ ' post ' , ' get ' ] )#第乙個引數是路徑,第二個引數是請求方式;如果不填寫預設為get方式

def web():#函式和上一行必須連著,不能有空行

username = request.values.get('n')  #get請求獲取值的方式,『

n』代表入參時候的

keypwd = request.values.get('p')#get請求獲取值的方式,『p』代表入參時候的key

json_user_id = request.json.get('a') #post請求方式(json串)獲取值的方式,『a』代表入參時候的key

json_sign = request.json.get('b')#post請求方式(json串)獲取值的方式,『a』代表入參時候的key

lanxia.run(port=8003,debug=true,host =』127.0.0.1』)#執行這個服務,

port

埠號(不能被占用),

debug=ture

代表開啟每次修改**後自動重啟服務,

host

代表他人如果想要訪問這個介面位址時候的

ip所以值返回來的格式都是字串型別

flask.request.headers.get('傳的header的key')#介面獲取header的方法

獲取header方法:request.headers

flask.request.cookies.get('傳的cookie的key')#介面獲取key的方法

獲取cookie方法:request.cookies

file = {「ker」:open(『haha.py』)}#傳的value是檔案控制代碼

flask.request.files.get('傳的files的key')#介面獲取key的方法

獲取檔案方法:自動上傳到了設定好的路徑

介面**

def upload():

#上傳檔案介面

f=request.files.get('file_name',none)

iff:

t=time.strftime('%y%m%d%h%m%s')#獲取當前時間

new_file_name=t+f.filename#給檔案重新命名,防止有重複檔案覆蓋

f.s**e(new_file_name)#儲存檔案

returnjsonify()

else:

returnjsonify()

寫入excel

需要安裝xlwt模組:pip install xlwt

import xlwt   

book  = xlwt.workbook()#建立乙個

excel  

sheet = book.add_sheet('lanxia')#新增乙個

sheet

頁title = ['姓名

','班級

','住址

','手機號

']data = [

['','巨蟹座

','中南海

',110],

['水瓶座

','巨蟹座

','紫禁城

',119]

]i=0#控制列

for j in title:

#j是每次迴圈

title

的內容sheet.write(0,i,j)#0是行不變,

i是列,每次迴圈的內容

i+=1#每次迴圈的時候列都加

1line=1#控制寫的行

for d in data:#外層迴圈是控制行數的

row = 0#代表的列,列每次都變

for dd in d:#控制列的

sheet.write(line,row,dd)#行,列,內容

row+=1#列每次都要加一

line+=1

book.s**e('skkk8.xls')#字尾只能用

xls,要不然打不開

讀取excel

需要安裝xlwd模組:pip install xlrd

book = xlrd.open_workbook('d:\documents\tencent files\837221976\filerecv\測試用例.xlsx')

sheet = book.sheet_by_name('sheet1')

rows = sheet.nrows#sheet頁裡面的行數

clos = sheet.ncols#sheet頁裡面的列數

print(sheet.cell(1,1).value)#通過指定行和列去獲取到單元格裡面的內容

row_data = sheet.row_values(1)#獲取第一行的內容

for i in range(rows):

print(sheet.row_values(i))#獲取第幾行的資料

修改excel

需要安裝xlutils模組:pip install xlutils

from xlutils.copy import copy#拷貝excel模組方法

import xlrd#修改時需要使用讀

import os

#1、打一要修改的

excel

#2、再開啟另乙個

excel

#3、把第乙個

excel

裡面修改東西寫到第二個裡頭

#4、把原來的

excel

刪掉,新的

excel

名改成原來的名字

book = xlrd.open_workbook('stu.xls')

#複製乙個

excel

new_book = copy(book)#複製了乙份原來的

excel

#通過獲取到新的

excel

裡面的sheet

頁sheet = new_book.get_sheet(0)#獲取到第乙個

sheet

頁sheet.write(6, 0, 'dandan sun')#寫入

excel

,第乙個值是行,第二個值是列

new_book.s**e('stu_new.xls')#儲存新的

excel

,儲存excel

必須使用字尾名是

.xls

的,不是能是

.xlsx

的os.remove('stu.xls')#刪除舊的文件

os.rename('stu_new.xls','stu.xls')#重新命名(「舊名字「,」最新命名的名字」)

開發mock介面

import fastapi from fastapi import form from starlette.requests import request import uvicorn import tools server fastapi.fastapi 定義乙個服務 pip install p...

Python之mock介面開發

import flask import json server flask.flask name name 是指把當前python檔案當作乙個服務 server.route api login methods post get 預設不傳methods是get請求 deflogin username ...

python介面測試 mock

1 什麼叫mock?答 模擬資料 假資料,不是介面真正返回的資料。2 為什麼要引入mock測試?有兩種場景需要引入 1 介面還未開發完成,但是測試人員需要介入介面測試 2 介面呼叫不方便,需要呼叫第三方介面 3 方式 1 客戶端mock 1 安裝第三方庫,pip install mock 2 建構函...