Как разобрать VCard в словарь Python?

Я пытаюсь выяснить, как разобрать VCard в словарь Python, используя VObject.

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 ответов


вы не хотите смотреть на поведение, вы хотите смотреть на . Поведение-это структура данных, описывающая, какие дети требуются / ожидаются, и как перевести этих детей в соответствующие структуры данных Python.

на vobj объект является компонентом vobject. Его содержимое атрибута словарь ContentLines vobject и, возможно, компонентов, так

vobject.contents

даст вам словарь объектов.

если вы хотите более удобочитаемый вид, что разбирается, не так:

vobj.prettyPrint()

получить доступ к отдельным детям, не, например:

vobj.adr