Как я анализирую 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?

6
задан Bill the Lizard 9 June 2011 в 15:10
поделиться

1 ответ

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

Объект vobj - это vobject Component. Его атрибут contents - это словарь vobject ContentLines и, возможно, Components, поэтому

vobject.contents

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

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

vobj.prettyPrint()

Чтобы получить доступ к отдельным дочерним объектам, сделайте, например:

vobj.adr
9
ответ дан 10 December 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: