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中列表(list)操作方法汇总
Aug 18 Python
python实现识别手写数字 python图像识别算法
Mar 23 Python
Python根据已知邻接矩阵绘制无向图操作示例
Jun 23 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
Jul 12 Python
python对视频画框标记后保存的方法
Dec 07 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
Mar 06 Python
python中数字是否为可变类型
Jul 08 Python
细说NumPy数组的四种乘法的使用
Dec 18 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python字符串格式化方式
Apr 07 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
水质对咖图啡风味的影响具体有哪些
2021/03/03 冲泡冲煮
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
分享十款最出色的PHP安全开发库中文详细介绍
2015/03/22 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
php的4种常用运行方式详解
2016/12/22 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
laravel 解决crontab不执行的问题
2019/10/22 PHP
根据地区不同显示时间的javascript代码
2007/08/13 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
2014/04/25 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
微信小程序 自己制作小组件实例详解
2016/12/22 Javascript
jQuery表单插件ajaxForm实例详解
2017/01/17 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
vue awesome swiper异步加载数据出现的bug问题
2018/07/03 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
在Python下使用Txt2Html实现网页过滤代理的教程
2015/04/11 Python
Python实现的质因式分解算法示例
2018/05/03 Python
浅谈django的render函数的参数问题
2018/10/16 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
python函数enumerate,operator和Counter使用技巧实例小结
2020/02/22 Python
python实现手势识别的示例(入门)
2020/04/15 Python
Python基础教程(一)——Windows搭建开发Python开发环境
2020/07/20 Python
Willer台湾:日本高速巴士/夜行巴士预约
2017/07/09 全球购物
十八届三中全会报告学习材料
2014/02/17 职场文书
品牌推广策划方案
2014/05/28 职场文书
公证委托书标准格式
2014/09/11 职场文书
领导班子四风问题对照检查材料
2014/09/27 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript