最近迷恋上了python,因为脚本语言确实很强大,之前写的perl代码现在基本都看不明白了,因此果断放弃perl,投身python怀抱。
学习的一个好办法就是自己找问题,然后coding解问题。因此我给自己出了道题。
即android source code是由若干个git project组成的,其中有一个manifest.xml统一管理这些project,用repo命令可以很方便的管理操作这些project。如果想知道当前source code的所有project的commit号,通过下面命令可以获取
repo manifest -r -o manifest_xx.xml
其中这个manifest_xx.xml里含有所有project当前的commit信息。
假如有两个这样的manifest.xml,我们想提取其中的name, path及revision信息,来判断究竟哪些project有更新,后续可以根据这些获取的信息来做两个版本的delta patch。
因此一个关键点是如何通过python解析xml?
这里先共享一个好网站 http://docs.python.org/2.7/library/xml.etree.elementtree.html 里面的例子通熟易懂,教你如何使用python解析xml。
贴上我写好的python,python的一个优势就是容易读懂。这里主要两个知识点,一个是如何解析XML,一个是如何使用字典。
#!/usr/bin/python
imp