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中函数的参数
Apr 27 Python
Python实现利用最大公约数求三个正整数的最小公倍数示例
Sep 30 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
May 26 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
python自动化测试之如何解析excel文件
Jun 27 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
Python3实现打印任意宽度的菱形代码
Apr 12 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
BeautifulSoup获取指定class样式的div的实现
Dec 07 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 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 进度条实现代码
2009/03/10 PHP
Smarty foreach控制循环次数的实现详解
2013/07/03 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
基于逻辑运算的简单权限系统(实现) JS 版
2007/03/24 Javascript
JavaScript 数组运用实现代码
2010/04/13 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
微信小程序实现留言板
2018/10/31 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
[16:04]DOTA2海涛带你玩炸弹 9月5日更新内容详解
2014/09/05 DOTA
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
[01:01:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第一场 3月4日
2021/03/11 DOTA
Python 文件读写操作实例详解
2014/03/12 Python
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python的ORM框架中SQLAlchemy库的查询操作的教程
2015/04/25 Python
python中reload(module)的用法示例详解
2017/09/15 Python
对python中词典的values值的修改或新增KEY详解
2019/01/20 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python调用graphviz绘制结构化图形网络示例
2019/11/22 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
药物学专业学生的自我评价
2013/10/27 职场文书
房产继承公证书
2014/04/09 职场文书
法学专业求职信
2014/07/15 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
离婚上诉状范文
2015/05/23 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
mysql事务隔离级别详情
2021/10/24 MySQL
Minikube搭建Kubernetes集群
2022/03/31 Servers