![]() |
1
26
你最好使用已经 existing library 而不是试图重塑车轮:
然后在python中
你就完了! 所以,如果你想用它编一本词典,你需要做的就是:
所以你可以把所有这些都变成一个函数:
从那里,您可以改进代码以处理多个
N、 我留给你一个练习,把上面的代码从一个文件中只能读取一张vcard改为可以读取多张vcard的代码。提示:
read the documentation of
N、 我在使用你的数据,我认为无论你写什么,都没有意义。但毫无疑问,我修改了电话号码。 为了好玩,让我们看看你的代码。首先是缩进问题,但我认为这是因为复制/粘贴不好。
首先,第行有两个问题。您使用
这将为您处理fd,并更好地显示您可以在哪里使用打开的文件。
第二个问题是您调用了变量
行?和,您正在应用
如果使用
最后,第§行完全没有意义。基本上,你所做的相当于:
总之,在你的代码中,你所做的就是提取姓名,你甚至不需要去管电话号码。所以当你说:
这毫无意义,因为你实际上并没有试图提取电话号码。
是的,您可以使用类似于(未经测试的正则表达式很可能无法工作)的方法,遍历整个文件,或者至少遍历每个vcard:
但是,当你有一个为你做得很完美的lib时,何必费心呢! |
![]() |
2
12
我的答案基于zmos答案(您需要安装vobject)。 要从vcf文件中获取所有vobject,可以执行以下操作:
文件
|
|
Paulo Vitorino · 使用Python的Vcard解析器 8 年前 |