如何将VCard解析为Python字典?

时间:2010-03-19 14:30:06

标签: python vcard vcf

我正试图弄清楚如何使用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数据填充字典?

1 个答案:

答案 0 :(得分:9)

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

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

vobject.contents

会给你一个对象词典。

如果您想要更加人性化的解析视图,请执行以下操作:

vobj.prettyPrint()

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

vobj.adr