Я пытаюсь выяснить, как проанализировать 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?
Вы не хотите смотреть на поведение, вы хотите смотреть на vobj
как таковой. Поведение - это структура данных, описывающая, какие дочерние элементы требуются/ожидаются, и как перевести эти элементы в соответствующие структуры данных Python.
Объект vobj
- это vobject Component. Его атрибут contents - это словарь vobject ContentLines и, возможно, Components, поэтому
vobject.contents
даст вам словарь объектов.
Если вы хотите получить более человекочитаемый вид того, что было разобрано, сделайте:
vobj.prettyPrint()
Чтобы получить доступ к отдельным дочерним объектам, сделайте, например:
vobj.adr