Python Json數(shù)據(jù)文件操作原理解析
引言
接口測(cè)試就是數(shù)據(jù)的測(cè)試,在測(cè)試之前,需要準(zhǔn)備好測(cè)試數(shù)據(jù),而測(cè)試數(shù)據(jù)可以用數(shù)據(jù)庫(kù)、excel、txt和csv方式,當(dāng)然還有一種方式,那就是使用json文件來(lái)儲(chǔ)存測(cè)試數(shù)據(jù)。常用的方式就是這些。
設(shè)計(jì)思路
python讀取json文件和讀取txt方式是一樣的,獲取路徑,判斷路徑是否存在,獲取文件名及絕對(duì)路徑,打開(kāi)讀取數(shù)據(jù),提取關(guān)鍵數(shù)據(jù),關(guān)閉文件。具體流程,畫(huà)了一個(gè)草圖方便理解:

具體代碼實(shí)現(xiàn)
@author: Leo
@software: pycharm
@file: operate_json.py
@time: 2020/5/3 0003 9:01
@Desc:
'''
__author__ = 'Leo'
import os
import json
# 獲取當(dāng)前文件所在的絕對(duì)路徑
curPath = os.path.abspath(os.path.dirname(__file__))
print(curPath)
rootPath = os.path.abspath(os.path.dirname(curPath))
print(rootPath)
config_file_name = r'./data/api_json'
class OperateJson(object):
"""
操作Json文件
"""
def __init__(self,file_name = None):
if file_name:
self.file_name = file_name
else:
self.get_file = config_file_name
self.file_name = os.path.join(rootPath,self.get_file)
print("文件名稱(chēng):%s"%self.file_name)
self.data = self.read_json()
def read_json(self):
"""
讀取json數(shù)據(jù)
"""
with open(self.file_name,encoding='utf8') as fp:
# 反序列化,從文件讀取(string轉(zhuǎn)dict)
data = json.load(fp)
fp.close()
return data
def get_keyword_data(self,key):
"""
讀取關(guān)鍵字
"""
return self.data[key]
if __name__ == '__main__':
# oj = OperateJson("../data/package.json")
oj = OperateJson()
print(oj.read_json())
print(oj.get_keyword_data('api1'))
print(oj.get_keyword_data('api1')['url'])
print(oj.get_keyword_data('api1')['data'])
運(yùn)行結(jié)果:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python利用線程實(shí)現(xiàn)多任務(wù)
這篇文章主要介紹了python利用線程實(shí)現(xiàn)多任務(wù),幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-09-09
Python使用unittest進(jìn)行有效測(cè)試的示例詳解
這篇文章主要介紹了如何使用?unittest?來(lái)編寫(xiě)和運(yùn)行單元測(cè)試,希望通過(guò)閱讀本文,大家能了解?unittest?的基本使用方法,以及如何使用?unittest?中的斷言方法和測(cè)試用例組織結(jié)構(gòu)2023-06-06
Python入門(mén)教程(一)Python簡(jiǎn)單介紹
這篇文章主要介紹了Python入門(mén)教程(一)Python簡(jiǎn)單介紹,Python是一門(mén)非常強(qiáng)大好用的語(yǔ)言,也有著易上手的特性,本文為入門(mén)教程,需要的朋友可以參考下2023-04-04
Pandas DataFrame replace替換后無(wú)效的解決
這篇文章主要介紹了Pandas DataFrame replace替換后無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
python實(shí)現(xiàn)事件驅(qū)動(dòng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)事件驅(qū)動(dòng)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Scrapy爬蟲(chóng)實(shí)例講解_校花網(wǎng)
下面小編就為大家?guī)?lái)一篇Scrapy爬蟲(chóng)實(shí)例講解_?;ňW(wǎng)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-10-10

