python 递归获取指定内容

获取某个接口的返回值,下面大家看下如何获取返回的内容!

返回内容

{'url': 
	{'test': 'https://************.zje.com', 
	'line': 'https://************.zje.com'}, 
'EnvrNumber': 
	{'staff': 
		{'jobNumber': 'Ar==************', 
		'password': 'R==************'}, 
	'manage': 
		{'jobNumber': '1B==************', 
		'password': 'x==************'}, 
	'commiss': 
		{'jobNumber': 'en==************', 
		'password': 'RQ==************'}, 
	'hr': 
		{'jobNumber': 'h==************', 
		'password': 't==************'}
		}
	}

获取指定内容

// 现在获取hr内的jobNumber、password


class ObtainAndAssign(object):

    def ReturnValue(self, RetValue, ObtName, aut=None):
        """
        :param RetValue: 读取或请求的返回值
        :param Name: 指定key 获取 value
        :return: 返回 value
        """
        # 判断返回值是否为字典
        if isinstance(RetValue, dict):
            # 循环字典
            for key, value in RetValue.items():
                # 判断是否为需要的key
                if key == ObtName:
                    # 返回值
                    return value
                # 判断获取的value是否为字典
                elif isinstance(value, dict):
                    # ret与aut=None不等,表示找到ObtName,否则ret会作为返回值向上层返回。
                    ret = self.ReturnValue(value, ObtName, aut)
                    if ret is not aut:
                        return ret
                else:
                    pass

            return aut
        else:
            print("传参非字典类型,请查看传参内容:{}".format(RetValue))


if __name__ == "__main__":
    # Yaml("/DataYaml/Url.yaml") : 返回值
    # hr : 所查字段名
    Data = ObtainAndAssign().ReturnValue(Yaml("/DataYaml/data.yaml"), "hr")
    print(Data["jobNumber"], Data["password"])

来看下执行结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值