如何检查字典是否为空,字典是否像python中的{" ":" "}



我正在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")

最新更新