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实现测试磁盘性能的方法
Mar 12 Python
pygame学习笔记(1):矩形、圆型画图实例
Apr 15 Python
Python冒泡排序注意要点实例详解
Sep 09 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
浅析Python装饰器以及装饰器模式
May 28 Python
对python PLT中的image和skimage处理图片方法详解
Jan 10 Python
python文字转语音实现过程解析
Nov 12 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
Python手绘可视化工具cutecharts使用实例
Dec 05 Python
python实现拼接图片
Mar 23 Python
基于python实现可视化生成二维码工具
Jul 08 Python
opencv检测动态物体的实现
Jul 21 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多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
Zend Framework页面缓存实例
2014/06/25 PHP
php实现的CSS更新类实例
2014/09/22 PHP
PHP二进制与字符串之间的相互转换教程
2016/10/14 PHP
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
JavaScript面向对象知识串结(读JavaScript高级程序设计(第三版))
2012/07/17 Javascript
jQuery把表单元素变为json对象
2013/11/06 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Bootstrap中glyphicons-halflings-regular.woff字体报404错notfound的解决方法
2017/01/19 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
layui前段框架日期控件使用方法详解
2017/05/19 Javascript
JS一个简单的注册页面实例
2017/09/05 Javascript
详解Nodejs 通过 fs.createWriteStream 保存文件
2017/10/10 NodeJs
vue2.0使用swiper组件实现轮播的示例代码
2018/03/03 Javascript
微信小程序修改swiper默认指示器样式的实例代码
2018/07/18 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
Vue toFixed保留两位小数的3种方式
2020/10/23 Javascript
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
python实现的DES加密算法和3DES加密算法实例
2015/06/03 Python
机器学习python实战之手写数字识别
2017/11/01 Python
python中不能连接超时的问题及解决方法
2018/06/10 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
公司领导推荐信
2013/11/12 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
班组长工作职责
2013/12/25 职场文书
司机岗位职责
2015/02/04 职场文书
JavaScript中关于预编译、作用域链和闭包的理解
2021/03/31 Javascript
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python