json文件操作及Python参数化 您所在的位置:网站首页 python字符串参数化 json文件操作及Python参数化

json文件操作及Python参数化

2023-11-26 09:55| 来源: 网络整理| 查看: 265

1. json 介绍

  JSON (JavaScript Object Notation) 是很常用的表示数据结构规范,web应用中常作服务器间传输和接收的数据格式。

  要处理JSON (字符串或包含json对象的文件), 需要使用Python 的 json 模块,因此使用前需要先导入该模块:

    import json

2. 解析json

  1. 可以使用 json.loads() 方法解析json,其返回字典类型。

  2. 也可以使用json.load()方法读json文件。

  3. 可以通过json.dumps()方法转换字典类型为json字符串。

  4. 使用json.dump()方法写json至文件。

1.1示例:

  

import json person = '{"name": "Bob", "languages": ["English", "Fench"]}' person_dict = json.loads(person) print(type(person)) # Output: {'name': 'Bob', 'languages': ['English', 'Fench']} print(person_dict) # Output: ['English', 'French'] print(person_dict['languages']) print(type(person_dict))

  返回结果如下所示,这里person是字符串类型,而person_dict是字典类型。

2.1 load()方法读取json文件

with open("datajson.json") as f: d = json.load(f) print(d)

   返回信息如下

  

 3.1 可以通过json.dumps()方法转换字典类型为json字符串。

  

person_dict = {'name': 'Bob', 'age': 12, 'children': None } print(person_dict) person_json = json.dumps(person_dict) # Output: {"name": "Bob", "age": 12, "children": null} print(person_json)

4.1 使用json.dump()方法写json至文件

  

import json person_dict = {"name": "Bob", "languages": ["English", "Fench"], "married": True, "age": 32 } with open('person.txt', 'w') as json_file: json.dump(person_dict, json_file) Python中的第三方模块parameterized进行参数化

  parameterized 模块为python重的第三方模块使用前需要先进行安装 pip install parameterized

  作用: 解决同一条用例不同数据间的数据驱动问题

 使用第一种方式可直接进行传参

  

class Add(unittest.TestCase): """第一种方法""" @parameterized.expand([(1, 2, 3), (2, 3, 5)]) def test_add(self, a, b, c): num = a+b self.assertEqual(num, c)

注意:expand参数后最外层必须为列表,列表内可嵌套列表或元组

使用第二种方式可直接进行传参

  将参数赋值给变量,使用时直接传入变量

  

data = [(1, 2, 3), (2, 3, 5)] class Add(unittest.TestCase): # """第一种方法""" # @parameterized.expand([(1, 2, 3), (2, 3, 5)]) # def test_add(self, a, b, c): # num = a+b # self.assertEqual(num, c) """第二种方法""" @parameterized.expand(data) def test_add1(self, a, b, c): num = a + b self.assertEqual(num, c)

读取Json文件传入参数

  读取json文件

import json def read_data(): with open("datajson.json") as f: d = json.load(f) d_list = [] print(d) for i in d.values(): for e in i.values(): d_list.append((int(e.get("a")), int(e.get("b")), int(e.get("c")))) return d_list class Add(unittest.TestCase): # """第一种方法""" # @parameterized.expand([(1, 2, 3), (2, 3, 5)]) # def test_add(self, a, b, c): # num = a+b # self.assertEqual(num, c) # """第二种方法""" # @parameterized.expand(data) # def test_add1(self, a, b, c): # num = a + b # self.assertEqual(num, c) """读取json文件传入参数""" @parameterized.expand(read_data()) def test_add1(self, a, b, c): num = a + b self.assertEqual(num, c)

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有