按类型解析 Vobject vcard 电话
Parsing Vobject vcard telephones by type
我正在尝试解析 vCard 对象,但在获取不同类型的电话 phone 或地址(即家庭或工作)时遇到问题。
我只能得到 phone.
的第一个实例而不能得到第二个实例
TEL;TYPE=work,voice;VALUE=uri:tel:+11115551
TEL;TYPE=home,voice;VALUE=uri:tel:+14045551
contact = vobject.readOne(s, allowQP=True)
print contact.tel.type_param
print contact.tel
这两个都有效,但它们只给我第一个 phone 号码。
我想做类似下面的事情,但这当然会给我一个错误。
print contact.tel.type_param.home
print contact.tel.work.value
按类型访问 vCard 对象的最佳方式是什么?
Vobject 没有很好的文档记录。来自方法说明:“”"Return a child's value (the first, by default), or None."”“
所以要修复它,我必须指定一个非零的子编号。
print contact.getChildValue('tel',default = None, childNumber = 0)
print contact.getChildValue('tel',default = None, childNumber = 1)
我正在尝试解析 vCard 对象,但在获取不同类型的电话 phone 或地址(即家庭或工作)时遇到问题。 我只能得到 phone.
的第一个实例而不能得到第二个实例TEL;TYPE=work,voice;VALUE=uri:tel:+11115551
TEL;TYPE=home,voice;VALUE=uri:tel:+14045551
contact = vobject.readOne(s, allowQP=True)
print contact.tel.type_param
print contact.tel
这两个都有效,但它们只给我第一个 phone 号码。 我想做类似下面的事情,但这当然会给我一个错误。
print contact.tel.type_param.home
print contact.tel.work.value
按类型访问 vCard 对象的最佳方式是什么?
Vobject 没有很好的文档记录。来自方法说明:“”"Return a child's value (the first, by default), or None."”“
所以要修复它,我必须指定一个非零的子编号。
print contact.getChildValue('tel',default = None, childNumber = 0)
print contact.getChildValue('tel',default = None, childNumber = 1)