我要做的是检查卷是否包含某个标记,即is_managed
。如果卷具有标记,请跳过它,否则将标记添加到卷中。
volumes = conn.get_all_volumes()
tags = conn.get_all_tags()
for volume in volumes:
for tag in tags:
if tag.name.startswith('is_managed'):
pass
else:
volume.add_tag('is_managed', True)
此代码有效(有点),但它会迭代所有标记,即使它们与我正在搜索的条件不匹配。因此它最终会添加is_managed
标记,但它会错误地计算要匹配的标记数量,加上它真的很慢。
如何查看单个代码以查看其是否符合我要查找的条件?
答案 0 :(得分:5)
你通过调用这个来获取conn的所有标签:tags = conn.get_all_tags()
你想要的是得到当前音量的所有标签,所以你想做类似的事情:
volumes = conn.get_all_volumes()
for volume in volumes:
if not 'is_managed' in volume.tags:
volume.add_tag('is_managed', True)