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


猜你喜欢
- 在pycharm中设置python脚本的文件模板,让文件创建的时候就自动写上一些相关信息:1、进入pycharm的File->sett
- 今天工作中遇到个小问题,情况如下,当我在后台页面中设置Checkbox的Enable的值为false时,我在前端页面中使用脚本(
- 利用Python OpenCV中的 cv.Resize(源,目标,变换方法)就可以实现变换为想要的尺寸了源文件:就不用说了目标:你可以对图像
- 1 前言在工作中时常会有繁重的文案工作,接触了python 之后,就会觉得这个比较简单了,python 操作word 和 excel 是比较
- 背景: 由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在不同的目录
- PDOStatement::setAttributePDOStatement::setAttribute — 设置一个语句属性(PHP 5
- 往期学习:python数据类型: python数据结构:数据类型.python的输入输出: python数据结构之输入输出及控制和异常.py
- 1 概要deque 是一个双端队列, 如果要经常从两端append 的数据, 选择这个数据结构就比较好了, 如果要实现随机访问,不建议用这个
- 本文实例讲述了Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能。分享给大家供大家参考,具体如下:公司要写一些
- 本文实例为大家分享了python3判断IP地址的具体代码,供大家参考,具体内容如下输入一串字符,判断该字符串是否为点分十进制的IP地址,若是
- 首先,一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?  
- 完整性约束是对字段进行限制,从而符合该字段达到我们期望的效果比如字段含有默认值,不能是NULL等 直观点说:如果插入的数据不满足限制要求,数
- 在任何语言中,都会规定某些对象(属性、方法、函数、类等)只能够在某个范围内访问,出了这个范围就不能访问了。这是“公”、“私”之分。此外,还会
- 今天遇到这个问题,上网查到以下解决方法:1.检查你的磁盘剩余空间是否足够,如果没有磁盘剩余空间,则清理磁盘,腾出空间
- 一、运行时恐慌panicpanic是一种在运行时抛出来的异常。比如"index of range"。panic的详情:p
- 第一种方法:用军哥的一键修改LNMP环境下MYSQL数据库密码脚本一键脚本肯定是非常方便。具体执行以下命令:wget http://soft
- 在讲解 seek() 函数和 tell() 函数之前,首先来了解一下什么是文件指针。我们知道,使用 open() 函数打开文件并读取文件中的
- 混编的含义有两种,一种是在python里面写C一种是C里面写python本文主要是进行简化,方便使用。###################
- 变量(variable)是Python语言中一个非常重要的概念。变量的主要作用就是为Python程序中的某个值起一个名字。类似于“张三”、“
- 前言NumPy(Numerical Python)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自