Python中的条件访问项



我想用python为Kubernetes写一些测试。这是我在Kubernetes中部署文件的一个示例:

apiVersion: apps/v1
kind: Deployment
metadata:
name: test-service
namespace: test
creationTimestamp: '2022-12-08T18:18:49Z'
labels:
app: test-service
team: teamA
.
.

我想做的是访问部署文件中的项:

some codes here....
result = set()
some codes here.....
with open(deoloyment_file, "r") as stream:
for data in yaml.safe_load_all(stream.read().replace('t', '  ')):
if data and data['kind'] == 'Deployment':
result.add(f"{data['metadata']['namespace']}:{data['metadata']['name']}:{data['metadata']['labels']['team']}")

这会抛出一个异常,因为在一些部署文件中没有标签或团队。我想知道如何用Python有条件地访问项。

您可以为dict.get方法指定一个默认值,使其在给定键不存在时返回到该值。

labelsteam不存在时,您想要一个空字符串,您可以更改:

data['metadata']['labels']['team']

:

data['metadata'].get('labels', {}).get('team', '')

最新更新