我正在AWS_SECRETS上工作,并想检查秘密值(KEY/VALUE对)是否已创建,我正在使用boto3脚本,它返回一个空字典,如下面
{"":""}
由于没有值,因此将其视为字符串。请让我知道如何迭代这个
目标是返回"空指令";在{"":""}
的情况下,如果它像{"Key":"Value"}
,那么它应该返回字典不为空。
或者如果有人有更好的建议,请提出。
注意:Terraform被用来创建AWS_SECRET
,所以AWS_SECRET
将只由Terraform创建,但如果我需要检查它是否有一些值,我正在使用boto3
处理。
您可以使用any(d.keys()) or any(d.values())
:
>>> d = {"": ""}
>>> any(d.keys()) or any(d.values())
False
>>> d = {"foo": ""}
>>> any(d.keys()) or any(d.values())
True
>>> d = {"foo": "bar"}
>>> any(d.keys()) or any(d.values())
True
注意,这里假设键和值总是字符串。如果使用其他假值,则会失败,例如:
>>> d = {False: False}
>>> any(d.keys()) or any(d.values())
False
使用dict.keys()
获取所有密钥。然后,您可以将其与仅包含""
的元组进行比较。
if tuple(d.keys()) == ("",):
print("dict is empty")