我使用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对象一样迭代内容,但这不起作用。我可以将其作为字符串引用,但是,它非常脏,有引号问题,无引号的值,无引号的数字,嵌入的换行符等。我已经能够用一堆正则表达式子函数清理它,但是,这是一场噩梦,我永远不知道什么时候会有其他数据出现并破坏它。有没有更好的方法来提取这些信息?或者一个关于如何解析返回结果的文档链接会很棒...我在这里错过了什么?
谢谢,丹尼斯
1条答案
按热度按时间rks48beu1#
Duuuhhh...还没有对yaml做太多的工作。特别是像这样的原始yaml字符串。yaml.safe_load(str)将其转换为一个dict ... handy...