我使用 python 3 和 k8s 客户端查询各种集群信息。
在某些情况下,客户端返回的不是格式良好的 json 对象,而是一个我不知道如何“读取”的自定义对象。
作为一个具体的例子,我使用的是k8s客户端方法:list_persistent_volume_claim_for_all_namespaces()
这将返回 V1PersistentVolumeClaim 类型的实例,如下所述:https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/V1PersistentVolumeClaim.md
我的问题是如何处理这些实例并提取其中包含的信息?我想像遍历任何 Json 对象一样遍历内容,但这行不通。我可以将它作为一个字符串引用,但是,它在引用问题、未加引号的值、未加引号的数字、嵌入的换行符等方面非常脏。我已经能够用一堆正则表达式子来清理它,但是,它是噩梦,我永远不知道其他一些数据何时会出现并破坏它。有没有更好的方法来提取这些信息?或者关于如何解析返回结果的文档链接会很棒......我在这里错过了什么?
谢谢,丹尼斯
Duuuhhh... 还没有对 yaml 做太多。特别是像这样的原始 yaml 字符串。 yaml.safe_load(str) 将其转换为字典...方便...