我有一个函数,它返回以下字典:
{
"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"])
如果你不确定Attributes
或ApproximateNumberOfMessages
是否存在,你需要更小心一点。
messages = 0
attributes = result.get("Attributes")
if attributes:
messages = int(attributes.get("ApproximateNumberOfMessages", 0))
访问。当result["Attributes"]
不存在时,否则会抛出错误。get
允许您指定一个默认值,如果需要的话。