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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
python中的多线程实例教程
Aug 27 Python
Python用list或dict字段模式读取文件的方法
Jan 10 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
详解用python写一个抽奖程序
May 10 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
Python3 翻转二叉树的实现
Sep 30 Python
python实现画出e指数函数的图像
Nov 21 Python
python脚本后台执行方式
Dec 21 Python
Pycharm 2020.1 版配置优化的详细教程
Aug 07 Python
Python Map 函数的使用
Aug 28 Python
python通过函数名调用函数的几种场景
Sep 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
我的论坛源代码(四)
2006/10/09 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
YII Framework框架教程之日志用法详解
2016/03/14 PHP
PHP使用PDO实现mysql防注入功能详解
2019/12/20 PHP
jQuery1.5.1 animate方法源码阅读
2011/04/05 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
2016/11/16 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
canvas简单快速的实现知乎登录页背景效果
2017/05/08 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
Jquery的autocomplete插件用法及参数讲解
2019/03/12 jQuery
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
python获得两个数组交集、并集、差集的方法
2015/03/27 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
项目经理岗位职责
2013/11/11 职场文书
门卫岗位安全职责
2013/12/13 职场文书
大学毕业自我鉴定范文
2014/02/03 职场文书
干部下基层实施方案
2014/03/14 职场文书
家长反馈意见及建议
2015/06/03 职场文书
朋友离别感言
2015/08/04 职场文书
社区服务活动感想
2015/08/11 职场文书
中秋节英文祝福语句(14句)
2019/09/11 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
2021/06/11 Python