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 WXPY实现微信监控报警功能的代码
Oct 20 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
Python和Java进行DES加密和解密的实例
Jan 09 Python
python3.6 实现AES加密的示例(pyCryptodome)
Jan 10 Python
flask session组件的使用示例
Dec 25 Python
详解python中list的使用
Mar 15 Python
python+opencv实现摄像头调用的方法
Jun 22 Python
Pycharm简单使用教程(入门小结)
Jul 04 Python
Python 使用 environs 库定义环境变量的方法
Feb 25 Python
解决Jupyter NoteBook输出的图表太小看不清问题
Apr 16 Python
利用Python函数实现一个万历表完整示例
Jan 23 Python
python调用百度AI接口实现人流量统计
Feb 03 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
php生成随机颜色的方法
2014/11/13 PHP
php读取文件内容的方法汇总
2015/01/24 PHP
php数组随机排序实现方法
2015/06/13 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
分享20款好玩的jQuery游戏
2011/04/17 Javascript
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
浅谈webpack devtool里的7种SourceMap模式
2019/01/14 Javascript
laypage.js分页插件使用方法详解
2019/07/27 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
Python中的fileinput模块的简单实用示例
2015/07/09 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python跳过第一行快速读取文件内容的实例
2018/07/12 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
django最快程序开发流程详解
2019/07/19 Python
python 动态调用函数实例解析
2019/10/21 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
python代码能做成软件吗
2020/07/24 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
Python中Qslider控件实操详解
2021/02/20 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
自荐信格式的六要素
2013/09/21 职场文书
护理自荐信范文
2013/10/05 职场文书
出纳工作检讨书
2014/10/18 职场文书
财产分割协议书范本
2014/11/03 职场文书
《亲亲我的妈妈》观后感(3篇)
2019/09/26 职场文书
Django migrate报错的解决方案
2021/05/20 Python