6

我试图弄清楚如何使用VObject将 VCard 解析为 Python 字典。

vobj=vobject.readOne(string)
print vobj.behavior.knownChildren

这就是我得到的全部:

{'CATEGORIES': (0, None, None), 'ADR': (0, None, None), 'UID': (0, None, None), 'PHOTO': (0, None, None), 'LABEL': (0, None, None), 'VERSION': (1, 1, None), 'FN': (1, 1, None), 'ORG': (0, None, None), 'N': (1, 1, None), 'PRODID': (0, 1, None)}

如何用我的 VCard 数据填充字典?

4

1 回答 1

9

你不想看行为,你想看vobj它本身。行为是一种数据结构,描述了需要/期望哪些子项,以及如何将这些子项转换为适当的 Python 数据结构。

vobj对象是一个 vobject 组件。它的内容属性是 vobject ContentLines 和可能的组件的字典,所以

vobject.contents

会给你一个对象字典。

如果您想要更易于阅读的解析内容视图,请执行以下操作:

vobj.prettyPrint()

要访问单个孩子,请执行以下操作:

vobj.adr
于 2010-03-19T15:47:07.977 回答