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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
python使用mailbox打印电子邮件的方法
Apr 30 Python
Python的Flask框架应用调用Redis队列数据的方法
Jun 06 Python
python在每个字符后添加空格的实例
May 07 Python
python交换两个变量的值方法
Jan 12 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
OpenCV模板匹配matchTemplate的实现
Oct 18 Python
python flask搭建web应用教程
Nov 19 Python
python3 实现调用串口功能
Dec 26 Python
Django实现文章详情页面跳转代码实例
Sep 16 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 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中的插件机制原理和实例
2014/07/08 PHP
php判断访问IP的方法
2015/06/19 PHP
prototype 学习笔记整理
2009/07/17 Javascript
javascript window.opener的用法分析
2010/04/07 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
Python程序员面试题 你必须提前准备!(答案及解析)
2018/01/23 Python
Python基础知识点 初识Python.md
2019/05/14 Python
解决TensorFlow模型恢复报错的问题
2020/02/06 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
家长评语大全
2014/01/22 职场文书
植树节活动总结
2014/04/30 职场文书
主题实践活动总结
2014/05/08 职场文书
2014年人事工作总结范文
2014/11/19 职场文书
简历中自我评价范文
2015/03/11 职场文书
草房子读书笔记
2015/06/29 职场文书
教师学习心得体会范文
2016/01/21 职场文书
2017元旦、春节期间廉洁自律承诺书
2016/03/25 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
Python中npy和mat文件的保存与读取
2022/04/24 Python
php解析非标准json、非规范json的方式实例
2022/05/10 PHP
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android