Python Json数据文件操作原理解析


Posted in Python onMay 09, 2020

引言

接口测试就是数据的测试,在测试之前,需要准备好测试数据,而测试数据可以用数据库、excel、txt和csv方式,当然还有一种方式,那就是使用json文件来储存测试数据。常用的方式就是这些。

设计思路

python读取json文件和读取txt方式是一样的,获取路径,判断路径是否存在,获取文件名及绝对路径,打开读取数据,提取关键数据,关闭文件。具体流程,画了一个草图方便理解:

Python Json数据文件操作原理解析

具体代码实现

@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'])

运行结果:

Python Json数据文件操作原理解析

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之循环对象
Aug 30 Python
实例Python处理XML文件的方法
Aug 31 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
python版飞机大战代码分享
Nov 20 Python
python截取两个单词之间的内容方法
Dec 25 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
VScode连接远程服务器上的jupyter notebook的实现
Apr 23 Python
Python数据可视化之绘制柱状图和条形图
May 25 Python
Python 快速验证代理IP是否有效的方法实现
Jul 15 Python
利用Python如何实时检测自身内存占用
May 09 #Python
如何通过Python3和ssl实现加密通信功能
May 09 #Python
详解Django配置JWT认证方式
May 09 #Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
May 08 #Python
win10从零安装配置pytorch全过程图文详解
May 08 #Python
Python reduce函数作用及实例解析
May 08 #Python
Python使用sqlite3模块内置数据库
May 07 #Python
You might like
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
JS利用正则表达式实现简单的密码强弱判断实例
2017/06/16 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Vue 兄弟组件通信的方法(不使用Vuex)
2017/10/26 Javascript
highCharts提示框中显示当前时间的方法
2019/01/18 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
2019/04/29 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
js刷新页面location.reload()用法详解
2019/12/09 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
js中forEach,for in,for of循环的用法示例小结
2020/03/14 Javascript
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
[46:09]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第三场
2014/05/26 DOTA
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
20招让你的Python飞起来!
2016/09/27 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
python图形用户接口实例详解
2019/12/16 Python
tensorflow常用函数API介绍
2020/04/19 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
python各种excel写入方式的速度对比
2020/11/10 Python
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
销售辞职报告范文
2014/01/12 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
百日安全生产活动总结
2014/07/05 职场文书
红色革命电影观后感
2015/06/18 职场文书
导游词之山海关
2019/12/10 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
Python几种酷炫的进度条的方式
2022/04/11 Python