Python Json数据文件操作原理解析
作者:全栈测试 发布时间:2022-10-27 19:00:32
标签:Python,Json,操作
引言
接口测试就是数据的测试,在测试之前,需要准备好测试数据,而测试数据可以用数据库、excel、txt和csv方式,当然还有一种方式,那就是使用json文件来储存测试数据。常用的方式就是这些。
设计思路
python读取json文件和读取txt方式是一样的,获取路径,判断路径是否存在,获取文件名及绝对路径,打开读取数据,提取关键数据,关闭文件。具体流程,画了一个草图方便理解:
具体代码实现
@author: Leo
@software: pycharm
@file: operate_json.py
@time: 2020/5/3 0003 9:01
@Desc:
'''
__author__ = 'Leo'
import os
import json
# 获取当前文件所在的绝对路径
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("文件名称:%s"%self.file_name)
self.data = self.read_json()
def read_json(self):
"""
读取json数据
"""
with open(self.file_name,encoding='utf8') as fp:
# 反序列化,从文件读取(string转dict)
data = json.load(fp)
fp.close()
return data
def get_keyword_data(self,key):
"""
读取关键字
"""
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'])
运行结果:
来源:https://www.cnblogs.com/liudinglong/p/12820982.html
![](https://www.aspxhome.com/images/zang.png)
![](https://www.aspxhome.com/images/jiucuo.png)
猜你喜欢
- 代码如下:登陆时记录cookies页面代码 <!--#include file="md5.asp"--&
- 你用过css么?当然,我是指你喜欢做网页的话,用过?很好,那你用过它的特效么?没有?那请跟我来。让我先通俗的介绍一下css,cs
- SQL Server 2008的独到之处:安装SQL Server 2008的设置和安装也有所改进。配置数据和引擎位已经分开了,所以它使创建
- 我的机器不知为何,安装MySQL的时候,一到配置那一步就无休止的等待,只好结束任务,然而启动MySQL的时候出现1067错误提示
- 我们在制作网页时,有时会遇到这样的情况:根据用户的选择,显示不同的内容。比如,制作一个登录网页,上面有
- Python脚本编辑使用Python对fasta格式的序列进行基本信息统计预期设计输出文件中包括fasta文件名,序列长度,GC含量以及AT
- 其实,这是一个非常容易解决掉的问题。在我看来,似曾相识,呵呵,最近学JavaScript可是学会了使用var声明变量。其实,在PHP中根本不
- 在日常工作中,除了会涉及到使用Python处理文本文件,有时候还会涉及对压缩文件的处理。通常会涉及到的压缩文件格式有:rar:Windows
- Twig是一款快速、安全、灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板。他
- 背景尽管到目前为止HTML4和XHTML1仍能够很好地满足我们的要求,但是它们仍然存在不足。为了满足用户丰富的基于Web应该程序的需要,达到
- 用javascript实现Base64编码—解决中文问题因javascript求出来的是Unicode要转换成Ansi后才能对它进行Base
- 看看下面的w3 upload组件例子,很简单: upload.asp<html> <head>
- 现在的高手真是越来越多,我刚发现一个版主兄竟然在不支持数据库的ISP免费主页上使用数据库,套用QQ聊天的一句话就是:Faint!明明人家IS
- 前言本文将深入研究 preg_replace /e 模式下的代码执行问题,其中包括 preg_replace 函数的执行过程分析、正则表达式
- 1、冒泡排序法让列表中的一项和下一项作比较,若前一项大于后一项则交换两者位置(升序)。方法一:直接使用for循环L=[8,2,50,3]fo
- 由于:Django处理静态文件不太友好;以后有可能需要处理php或者其他资源的请求;所以考虑结合nginx,使用nignx做它擅长的路由分发
- 本文实例讲述了Python高级编程之继承问题。分享给大家供大家参考,具体如下:多继承问题1.单独调用父类: 一个子类同时继承自多个父类,又称
- 首先预览一下 PyCharm 在实际应用中的界面:(更改了PyCharm的默认风格)安装首先去下载最新的pycharm 2.7.3,进行安装
- 摘要:利用xlrd读取excel利用xlwt写excel利用xlutils修改excel利用xlrd读取excel先需要在命令行中pip i
- 本文实例讲述了Python PyInstaller库基本使用方法。分享给大家供大家参考,具体如下:概述将.py源码转换成无需源代码的可执行文