从Python字典中获取值



我有一个函数,它返回以下字典:

{
"Attributes": {
"ApproximateNumberOfMessages": "0"
},
"ResponseMetadata": {
"RequestId": "feed6129-46ce-5af2-b0f7-38c1e632ae2c",
"HTTPStatusCode": 200,
"HTTPHeaders": {
"x-amzn-requestid": "feed6129-46ce-5af2-b0f7-38c1e632ae2c",
"date": "Tue, 19 Oct 2021 10:32:28 GMT",
"content-type": "text/xml",
"content-length": "357"
},
"RetryAttempts": 0
}
}
>>> type(result)
<class 'dict'>
>>> result.keys()
dict_keys(['Attributes', 'ResponseMetadata'])

我怎样才能得到" approximate enumberofmessages"作为一个整数?

可以这样做:

messages = int(result["Attributes"]["ApproximateNumberOfMessages"])

如前所述,如果您知道完整路径将始终存在,则可以执行

messages = int(result["Attributes"]["ApproximateNumberOfMessages"])

如果你不确定AttributesApproximateNumberOfMessages是否存在,你需要更小心一点。

messages = 0
attributes = result.get("Attributes")
if attributes:
messages = int(attributes.get("ApproximateNumberOfMessages", 0))

访问。当result["Attributes"]不存在时,否则会抛出错误。get允许您指定一个默认值,如果需要的话。

最新更新