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实现封装得到virustotal扫描结果
Oct 05 Python
Python Sleep休眠函数使用简单实例
Feb 02 Python
Python实现扫描局域网活动ip(扫描在线电脑)
Apr 28 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
Python OpenCV 使用滑动条来调整函数参数的方法
Jul 08 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
pycharm运行scrapy过程图解
Nov 22 Python
Python assert关键字原理及实例解析
Dec 13 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
python 实时调取摄像头的示例代码
Nov 25 Python
Python基础之hashlib模块详解
May 06 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 变量未定义等错误的解决方法
2011/01/12 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
php上传文件常见问题总结
2015/02/03 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
javascript 短路法代码精简
2009/08/20 Javascript
JavaScript继承方式实例
2010/10/29 Javascript
jquery触发a标签跳转事件示例代码
2013/07/21 Javascript
js中cookie的添加、取值、删除示例代码
2013/10/21 Javascript
jquery使用append(content)方法注意事项分享
2014/01/06 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
使用Object.defineProperty实现简单的js双向绑定
2016/04/15 Javascript
Bootstrap每天必学之工具提示(Tooltip)插件
2016/04/26 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
Javascript 实现匿名递归的实例代码
2017/05/25 Javascript
微信小程序实现星级评分和展示
2018/07/05 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
VUE安装使用教程详解
2019/06/03 Javascript
Vue实现导航栏的显示开关控制
2019/11/01 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
python正常时间和unix时间戳相互转换的方法
2015/04/23 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python编写一个优美的下载器
2018/04/15 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
Python字符串、列表、元组、字典、集合的补充实例详解
2019/12/20 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
2020/08/07 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
Html5定位终极解决方案
2020/02/05 HTML / CSS
业务员简历自我评价
2014/03/06 职场文书
食堂卫生管理制度
2015/08/04 职场文书
参加招聘会后的感想
2015/08/10 职场文书
pandas 操作 Excel操作总结
2021/03/31 Python