范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python常用小知识第二弹

  一、Python中使用JsonPath提取字典中的值
  JsonPath是解析Json字符串用的,如果有一个多层嵌套的复杂字典,想要根据key和下标来批量提取value,这是比较困难的,使用jsonpath模块可以解决这个痛点。假设接口返回的json数据如下: {     "code": 200,     "data": [{             "id": 1018,             "venderNo": "8888"       }, {             "id": 1788,             "venderNo": "9999"              }     ],     "msg": "操作成功",     "rowCount": 2,     "pageCount": 1,     "currentPage": 1 }
  接口测试代码如下: import requests import json import jsonpath  res = requests.post(url, data=parameters, headers=headers) result = json.loads(res.text) #将接口响应文本内容转为字典格式
  想获取code的值很简单:res.get("code") 即可获取。但是想要第一个venderNo的值,则相对麻烦一点,可以使用以下几种方式: # 通过查找字典中的key以及list方法中的下标索引 venderNo = res.get("data")[0].get("venderNo") print(venderNo) #输出结果是:8888  # 使用jsonpath, 嵌套n层也能取到所有venderNo信息, $表示最外层的{},..表示模糊匹配 venderNo=jsonpath.jsonpath(d,"$..venderNo")  print(venderNo) #输出结果是list:["8888", "9999"] print(venderNo[0]) #输出结果是:8888  # 精确匹配找到第一个venderNo信息 venderNo = jsonpath.jsonpath(res, "$.data[0].venderNo")  # 输出结果是list:["8888"],使用venderNo[0]获取值8888 print(venderNo[0]) #输出结果是:8888
  更多使用方式,可参看Jsonpath的官方文档: https://goessner.net/articles/JsonPath/ 二、Python获取字典中的所有key和value
  假设接口测试的json数据文件中,我们定义期望结果如下: "expectdata": {   "code": "200",   "data[0].venderNo":"8" }
  我们从json文件中拿到expectdata={"code": "200", "data[0].venderNo":"8"},字典格式。想要打印所有的key和value,代码如下: expectdata={"code": "200", "data[0].venderNo":"8"} for item in expectdata.items():     print("key是:"+item[0])     print("value是:"+item[1])
  测试结果:
  作用:当需要校验expectdata中的所有字段的值和接口返回的值是否一致时,就可能会用到上面的方法。 三、Python获取项目中数据文件的相对路径
  在接口自动化测试框架中,我们的代码除了能在本地运行,也要能在不修改代码的前提下在其他的环境下能够运行,比如别人的电脑上、服务器上。
  因此我们在接口测试的模块调用中,必须使用相对路径,不能使用诸如:D:unitTestresources 这样的绝对路径,因为其他人下载你的工程代码后,不一定是放在D盘下的。代码放在服务器上运行时也会有路径问题。
  所以需要能够动态获取文件的相对路径,才能够满足框架的基本要求,比如项目目录结构如下:
  testcases文件夹下的py文件想获取resources文件夹下的json文件中的内容,获取json文件相对路径的代码如下: # 获取项目根路径 BASE_PATH = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) # 根路径下再去找到resources文件夹下的test_http_get_data.json文件 data_file_path = os.path.join(BASE_PATH, "resources", "test_http_get_data.json")
  最后根据json文件的相对路径,读取文件内容即可。 四、测开常见面试题
  1.如何去除列表中的重复元素:
  【题目】给出一个列表:lis = [4, 2, 2, 4, 1, 2, 1, 3, 4, 3],去除列表中的重复元素。 def duplicate():     lis = [4, 2, 2, 4, 1, 2, 1, 3, 4, 3]      # 解法1: 利用set去重,会改变列表顺序     lis1 = list(set(lis))      # 解法2:     lis2 = []     for i in lis:       if i not in lis2:         lis2.append(i)      print("lis1的值:", lis1)     print("lis2的值:", lis2)   if __name__ == "__main__":     duplicate()
  测试结果如下:
  2.判断字符串是否对称:
  【题目】给出一个字符串,判断该字符串是否对称 def test_symmetrical(str):     print("判断的字符串为:",str)     length = len(str)     print("字符串长度为:", length)     for i in range(int(length/2)):         if str[i] != str[length - i - 1]:             aaa = str[i]             bbb = str[length - i - 1]             print("第{}".format(i+1)+"轮判断失败:"+aaa+"!="+bbb)             return False     return True   if __name__ == "__main__":     input_pwd1 = "12333211"     print(test_symmetrical(input_pwd1))     print("==================================")      input_pwd1 = "1233321"     print(test_symmetrical(input_pwd1))
  测试结果:
  ==============================
  以上就是本次的全部内容,都看到这里了,如果对你有帮助,麻烦点个赞+收藏+关注,一键三连啦~
  欢迎微信搜索关注我的公众号:程序员杨叔,各类文章都会第一时间在上面发布,持续分享全栈测试知识干货,你的支持就是作者更新最大的动力~

今日惊蛰,雷神击鼓,白虎觅食,祭白虎,打小人吃梨历史开讲惊蛰是二十四节气的第三个节气,在仲春之月,意思是春天的第二个月,时间大约在阳历3月56日,春雷一声响,惊醒了蛰伏冬眠的动物,动物们闻声而动。当然,惊蛰同样惊醒了沉睡的花草树山海经在山的那边海的那边穿着废弃布料的九尾狐,时时操心子女的生存在写字楼办公的伏羲,一边管理企业一边观星测天气大禹与精卫依然从事水利事业,一个治水一个填海几年前,英国导演里奇鲁斯克把山海经搬上了舞台,让这多地电动车再迎好消息,牌照和驾照有变化,车主突如其来的幸福在阅读文章前,请先点击上方的关注,后续将为您带来更多电动车资讯,多谢支持!2019年,电动车新国标出台,如今已过了近4年,各地陆续出台了相关法规约束电动车上路,其中牌照和驾照是广大雄性荷尔蒙过多,激情竟持续了22年,观众看得我嘶哈嘶哈头条创作挑战赛各位,言承旭的新剧夏花都看了吗?如你所见,他这次新剧的造型,和二十多年前的道明寺不说一模一样,也有七八分相似。或许是到了这个年纪,已然抛开那些嘲他吃老本的差评,致敬起2023年,浙江丧葬费迎来上涨,企事业退休人员去世,分别领多少?点击上方蓝色按钮,即可收听全文,社保当家为您提供视听双体验!参与职工养老保险,无论是否领取到养老金,去世后会发放丧葬费和抚恤金待遇,其中企业参保人员,去世后的丧葬费抚恤金标准已经统惨!宿迁市中心商场,大批商铺正在被拍卖众所周知,商业难做,宿迁这几年也有一些商业地标因为资金困难或官司纠纷等被拍卖抵债。宿迁老市中心幸福路上的一家商场,大批商铺正被拍卖中,这已经是这批商铺第6次被拍卖了,前5次都惨遭流感动中国2022年度人物揭晓好内容我来评AI修复雷锋生前影像1963年3月5日,毛泽东同志题词向雷锋同志学习发表。走过一甲子,无论时代如何变迁,雷锋精神永不过时。今天,全国第60个学雷锋纪念日。从一个人,到一浙江余姚梅川费氏溯源吾族世祖由慈迁姚,以第十二世祖珑公居梅川为始祖,公生三房,长曰鎡公,次曰锃公,三曰镜公自前清康熙间创修宗谱而前谱毁于乱续修于乾隆五十五年庚戌(1790)者,为省安公重修于咸丰十年庚因地制宜激发乡村振兴内生动力乡村振兴不可能一蹴而就,探索过程就是蹚路的过程,因地制宜,聚焦民意,有效激发群众内生动力,汇聚更强大的力量推进乡村振兴。小荷才露尖尖角,早有龙虾里面跑,宿迁沭阳陇集镇的稻虾藕虾套养明史杂谈魏忠贤明朝最后的权宦在阅读此文之前,麻烦您点击一下关注,既方便您进行讨论和分享,又能给您带来不一样的参与感,感谢您的支持。明朝是中国历史上的一朵奇葩,在它的三百多年历史中,创造了许多惊人的成就。然而,该!换!包!了!这款奶油包绝美!好久没有和大家聊包包啦,今天我们就来一期包包种草怎么样?为啥会突然想到包包呢?因为之前看到有麦粉留言问我包包是不是必须买大牌的?麦琪的答案是不是非得买大牌哈,实用好看就够了,包包嘛
白酒百害而无一利?行家瞎说!牢记1喝3不喝,舒服过秋天对于白酒的危害一直是人们热切关注的话题,不喝酒的人为家中酒友做准备,而喝酒的酒友为自身健康做了解。在大部分人眼中白酒是百害而无一利的,事实果真如此吗?简直是瞎说!在很多白酒行家的眼杂粮饭有什么好处?杂粮饭的功效与作用合理膳食的第一标准是食材多元化,只有多元化食材才能实现营养均衡的同时,在一定程度上帮助人们改善体质。虽然现在越来越多的人选择用杂粮饭替代精米白面作为主食,私下却并不知道杂粮饭的功效彩虹岛手游重温经典,回忆情怀,最受欢迎的手游彩虹世界盛大刚刚代理彩虹岛时,凭借着可爱的画风与好听的背景音乐很快就火爆全网,一度获得最适合未成年的网络游戏。也是在那年夏天我成为寻找爱丽丝拯救彩虹岛的一员。彩虹世界我们来了解一下再吃这些秋天容易出毛病时序进入秋天,各位好朋友是不是也开始感觉到些许凉意了呢?我们的身体在这时节容易干燥缺乏润泽,而维持健康的气血水一旦失衡,就会让人疲倦代谢差免疫力下降,这就是所谓的秋燥症!秋燥对身体发芽的土豆大蒜红薯生姜到底能不能吃?医生看完涨知识了天气炎热,食物容易出现变质或者发芽的状况,生活中经常见到的大蒜,土豆等很容易发芽,人们发现食材发芽,通常会扔掉,但是,有些食物发芽后,仍然可以食用。还有些人,认为把发芽的部位,削去身体给你的警示!!!你知道为什么睡觉时身体会突然颤一下吗?相信大家都有过这样的经历,在睡觉的时候,会突然的颤一下,那么是什么原因导致的呢?下面让我来给大家解密一下。睡觉的时候突然抽搐一下可能是因为精神紧张缺钙神经失调脑部疾病等情况导致。睡别再随随便便吃黑米了?黑米营养再高,这2类人也不适合多吃黑米,被誉为黑珍珠长生米长寿米等,还与大米有着天壤之别。黑米与大米的不同?过去的大米,在没有经过加工之前,完整地包括了谷壳果皮种皮外胚乳糊粉层等部分,而如今的大米,在经过多次研磨加身上藏着5个止痛开关,按一按,头痛肩痛都赶走生活中,总是会遇到这样那样的小病小痛,让人觉得难受。但除了吃止痛药,还有没有一些止痛妙招呢?有!其实在我们的身上就藏着一些止痛开关头痛印堂穴头痛很常见,病因也有很多。如果头痛难忍,科普胃炎是怎么演化成胃癌的胃炎是怎么演化成胃癌的由胃炎演变为胃癌,需要经历很长的时间,只要我们在生活中加以注意,胃炎及时治疗,完全可以避免,那么胃炎是怎样逐步演变为胃癌的呢?1浅表性胃炎经常食用辛辣食物,饮2022卡塔尔世界杯巡礼法国D组法国1。2018年世界杯2018年俄罗斯世界杯,德尚率领法国队勇夺世界杯冠军,时隔20年后,高卢雄鸡再次登顶世界之巅。值得一提的是,德尚就是1998年那支本土夺冠的法国国家队队告别单身!34岁王一梅同男友购物,退役担任高管,化解丁霞矛盾在不到一周的时间,中国女排将会迎来世锦赛的征程,女排在我国体育事业长河中有着不可磨灭的贡献,一代又一代的排球人,为排球事业奉献个人。其中王一梅曾经以重力扣球冠绝赛场,有着广大的粉丝