import unittest
from ddt import ddt,data,unpack,file_data
#导入ddt中的ddt,data,unpack方法@ddt  #首先用ddt装饰类
class caseddt_D2(unittest.TestCase):# 单个列表字典,未拆分@data([{"name": "peter", "age": 15, "addr": "chengdu"}])def test_8(self, value):print('单个列表字典,未拆分')print(value)# 多个列表字典,拆分@data([{"name": "peter", "age": 16, "addr": "chengdu"}, {"name": "lily", "age": 17, "addr": "chengdu"}])@unpack# 使用unpack拆分,列表或元组中几个参数就要在方法中传几个参数,列表中的字典看成一个整体,代表一个参数def test_9(self, value1, value2):print('多个列表字典,拆分')print(value1, value2)# 单个字典,拆分# @data里的数据key必须与方法里的key保持一致@data({"name": "jack", "age": 20})@unpackdef test_10(self, name, age):print(name, age)# 多个字典, 拆分@data({"name": "peter", "age": 18, "addr": "chengdu"}, {"name": "lily", "age": 19, "addr": "chengdu"})@unpackdef test_11(self, name, age, addr):print('多个字典, 拆分')print(name, age, addr)# 多个列表字典,用unpack拆分,多个参数时,要传多个参数,不能分别读取数据,*号拆分去掉最外层的括号,可以分别读取数据testdata = [{"name": "peter", "age": 21, "addr": "chengdu"}, {"name": "lily", "age": 22, "addr": "chengdu"}]@data(testdata)@unpackdef test_12(self, value1, value2):print('多个列表字典,引用数据')print(value1, value2)# @data(*testdata):*号意为解包,ddt会按逗号分隔,将数据拆分,可以分别读取数据(@unpack不能分别读取数据),*号只能去掉最外面一层括号testdata_A = [{"name": "peter", "age": 23, "addr": "chengdu"}, {"name": "lily", "age": 24, "addr": "chengdu"}]@data(*testdata_A)def test_13(self, value):print('*号意为解包')print(value)if __name__ == '__main__':unittest.main(verbosity=2)

执行结果:

"C:\Program Files\Python37\python.exe" D:/PycharmProjects/lovetest/caseDDT/caseddt_Demo2.py
jack 20
多个字典, 拆分
peter 18 chengdu
多个字典, 拆分
lily 19 chengdu
多个列表字典,引用数据
{'name': 'peter', 'age': 21, 'addr': 'chengdu'} {'name': 'lily', 'age': 22, 'addr': 'chengdu'}
*号意为解包
{'name': 'peter', 'age': 23, 'addr': 'chengdu'}
*号意为解包
{'name': 'lily', 'age': 24, 'addr': 'chengdu'}
单个列表字典,未拆分
[{'name': 'peter', 'age': 15, 'addr': 'chengdu'}]
多个列表字典,拆分
{'name': 'peter', 'age': 16, 'addr': 'chengdu'} {'name': 'lily', 'age': 17, 'addr': 'chengdu'}
test_10_1 (__main__.caseddt_D2) ... ok
test_11_1 (__main__.caseddt_D2) ... ok
test_11_2 (__main__.caseddt_D2) ... ok
test_12_1 (__main__.caseddt_D2) ... ok
test_13_1 (__main__.caseddt_D2) ... ok
test_13_2 (__main__.caseddt_D2) ... ok
test_8_1 (__main__.caseddt_D2) ... ok
test_9_1 (__main__.caseddt_D2) ... ok----------------------------------------------------------------------
Ran 8 tests in 0.000sOKProcess finished with exit code 0

ddt之读取列表字典,多个字典相关推荐

  1. python元组读取到列表_Python 学习笔记(1)Python容器:列表、元组、字典与集合...

    Python容器:列表.元组.字典与集合 列表: 1.列表 的创建 使用[ ] 或者list()创建列表:empty_list = [ ] 或者 empty_list= list() 使用list() ...

  2. python字典内存分析_python--序列,字符串,列表,元组,字典,集合内存分析

    一,什么是序列. 序列是一种数据存储方式,用来存储一系列的数据,在内存(堆内存)中,序列是一块用来存放多个值的连续的内存空间,其存储的值为所指向对象的地址.比如说a = [ 10 , 20 , 30 ...

  3. Python(字符串,列表,元组,字典)

    1.字符串:标识" " PS:字符串是%s:整数是%d:浮点数%f strip:移除(空白或者特定字符) split:分割 len:长度(获取元素的个数) 索引 切片 2.列表li ...

  4. Python笔记——基本数据结构:列表、元组及字典

    转载请注明出处:http://blog.csdn.net/wklken/archive/2011/04/10/6312888.aspx Python基本数据结构:列表,元组及字典 一.列表 一组有序项 ...

  5. python怎么创建字符串列表_Python(字符串,列表,元组,字典)

    1.字符串:标识" " PS:字符串是%s:整数是%d:浮点数%f strip:移除(空白或者特定字符) split:分割 len:长度(获取元素的个数) 索引 切片 2.列表li ...

  6. 菜鸟学IT之python3关于列表,元组,字典,集合浅认识!

    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753 一.列表,元组,字典,集合分别如何增删改查及遍历. 列表 # 列表的 ...

  7. python.集合转列表_Python列表、元组、字典、集合

    目录 3.1 Python 列表 3.2 Python 元组 3.3 Python 字典 3.4 Python 集合 3.1 Python列表 3.1.1 Python列表的概述 列表的定义:列表是一 ...

  8. 一句python,一句R︱列表、元组、字典、数据类型、自定义模块导入(格式、去重)

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. pandas中有类似R中的read.table的功能,而 ...

  9. Python基础数据类型---列表、元组、字典、集合、编码进价、数据类型转换

    文章目录 一.列表(List) 二.元组(tuple) 三.字典(dict) 四.集合(set) 五.数据类型间的转换 六.基础数据类型的总结 七.编码 八.练习题 一.列表(List) 列表是pyt ...

最新文章

  1. Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)
  2. Countly 19.02.1 发布,实时移动和 web 分析报告平台
  3. golang辟谣之模板编程
  4. 利用ffmpeg转换mp4文件
  5. hao123电脑版主页_hao123浏览器 原生网民的记忆 一代站长的传奇
  6. uni-app 组件中的canvas转化为图片报错:errMsg:“canvasToTempFilePath:fail canvas is empty”
  7. java生成pdf怎么合并行或者列_Java基础之PDF文件的合并
  8. 复杂电路简化经典例题_一天搞定考试系列之电路原理(3)
  9. fibonacci数列前20项_数学第十七课:数列综合应用第一弹
  10. 【状压dp】AC Challenge
  11. 【初级03】java JVM核心技术(3): jvm调优
  12. [九度][何海涛] 数组中只出现一次的数字
  13. javscript 简单拖拽(drag)拖放事件、dataTransfer详解,垃圾桶效果
  14. 编码器控制电机正反转梯形图_旋转编码器如何控制电机正反转?PLC如何实现?
  15. [Python3学习笔记-入门到入魔系列] 5分钟彻底搞懂XML文档解析
  16. linux怎么查看hwaddr_Linux查看MAC地址方法
  17. ceph集群全部停机开机
  18. CSDN上传资源与修改下载所需积分的问题
  19. 华为手机怎么刷android系统,怎样刷入安卓原生系统 在手机系统更新这件事上,小米华为和OPPOvivo谁更有良心...
  20. ACL / RBAC/ABAC

热门文章

  1. 为四则运算设计一个类python_python的四则运算练习
  2. anaconda添加源-创建环境-pycharm使用anaconda环境
  3. mysql数据库笔试题库和答案mysql语句(后端面试必备)
  4. 正则表达式的全局匹配模式
  5. Vector的所有函数
  6. 循序渐进,学会用pyecharts绘制瀑布图
  7. MFC操作ini配置文件
  8. 关于vscode调试方法
  9. 【Visual Studio】使用 pexports 根据 VS 的 .dll 动态链接库生成 .lib 库文件
  10. 前端百题斩【027】——解决跨域的常用利器CORS全解