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构造函数及解构函数介绍
Feb 26 Python
CentOS 6.X系统下升级Python2.6到Python2.7 的方法
Oct 12 Python
python简单商城购物车实例代码
Mar 15 Python
Python向Excel中插入图片的简单实现方法
Apr 24 Python
Linux 修改Python命令的方法示例
Dec 03 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
Python实现的企业粉丝抽奖功能示例
Jul 26 Python
Python爬取破解无线网络wifi密码过程解析
Sep 17 Python
如何在python中写hive脚本
Nov 08 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
python实现批量提取指定文件夹下同类型文件
Apr 05 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文件下载类
2006/12/06 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
js函数般调用正则
2008/04/08 Javascript
JavaScript OOP面向对象介绍
2010/12/02 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
vue.js加载新的内容(实例代码)
2017/06/01 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
详解Python3中yield生成器的用法
2015/08/20 Python
django框架如何集成celery进行开发
2017/05/24 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Python常见内置高效率函数用法示例
2018/07/31 Python
python 控制台单行刷新,多行刷新实例
2020/02/19 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Keras: model实现固定部分layer,训练部分layer操作
2020/06/28 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
社区活动邀请函范文
2014/01/29 职场文书
《母亲的恩情》教学反思
2014/02/13 职场文书
母婴店促销方案
2014/03/05 职场文书
元旦晚会主持词
2014/03/24 职场文书
机电系毕业生求职信
2014/07/11 职场文书
大学生社会实践活动总结报告
2015/05/06 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL