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 ZipFile模块详解
Nov 01 Python
Python3实现从文件中读取指定行的方法
May 22 Python
python下MySQLdb用法实例分析
Jun 08 Python
Python探索之实现一个简单的HTTP服务器
Oct 28 Python
Python编程深度学习绘图库之matplotlib
Dec 28 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
Pycharm Git 设置方法
Sep 15 Python
Scrapy爬虫文件批量运行的实现
Sep 30 Python
基于python爬取梨视频实现过程解析
Nov 09 Python
Python基础之条件语句详解
Jun 16 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
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
PHP explode()函数用法、切分字符串
2012/10/03 PHP
WordPress主题制作中自定义头部的相关PHP函数解析
2016/01/08 PHP
深入解析PHP的Yii框架中的event事件机制
2016/03/17 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php mysql 封装类实例代码
2016/09/18 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
jQuery队列操作方法实例
2014/06/11 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
基于JS实现发送短信验证码后的倒计时功能(无视页面刷新,页面关闭不进行倒计时功能)
2016/09/02 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
2018/09/30 Javascript
vuex(vue状态管理)的特殊应用案例分享
2020/03/03 Javascript
vue实现简单瀑布流布局
2020/05/28 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python爬虫文件下载图文教程
2018/12/23 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
Python中return函数返回值实例用法
2020/11/19 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
师范生自荐信范文
2013/10/06 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
代领毕业证委托书
2014/08/02 职场文书
乡镇党建工作汇报材料
2014/08/14 职场文书
信访工作汇报材料
2014/10/27 职场文书