python读写plist资料

来源:互联网 发布:帝国cms免费源码 编辑:程序博客网 时间:2024/05/16 18:45

1 关于 plist 文件

 

通俗一句话介绍: mac os和ios中的一种二进制的XML配置文件 

 

更准确详细的介绍: 参考 “IOS plist文件   http://www.cnblogs.com/geraldzhang/archive/2011/08/24/2152121.html  ” 

 

 

2 在 mac os和ios开发比如cocoa 中,非常好读写plist文件,参考1中提到的文章即可。 

 

 

现在有这样一个应用场景: ios app的打包文件.ipa中,使用plist文件保存了一些配置,每次发布之前需要标记版本、渠道等信息,渠道可能有N多个,所以需要在发布流程中根据渠道配置来分别更新plist文件中的某个或某几个key的值,以实现新版本的多渠道分发。

 

 

比如这里我们选用python脚本实现发布功能:

3.1 流程: .ipa包是标准zip包,所以直接zip解压,然后找到plist文件,读入,找到相应key,更新value,写到另一个文件,然后删除旧的,再重命名。

 

3.2 python 实现? 

 

python读写plist文件,参考这里 “ Python module for binary plist  http://stackoverflow.com/questions/3725268/python-module-for-binary-plist  ” 

 

笔者最后选择了 biplist 项目 : https://github.com/wooster/biplist  

 

<span style="margin: 0px; padding: 0px; ">Plist generation example:</span>from biplist import *from datetime import datetimeplist = {'aKey':'aValue',         '0':1.322,         'now':datetime.now(),         'list':[1,2,3],         'tuple':('a','b','c')         }try:    writePlist(plist, "example.plist")except (InvalidPlistException, NotBinaryPlistException), e:    print "Something bad happened:", e
<span style="margin: 0px; padding: 0px; ">Plist parsing example:</span>from biplist import *try:    plist = readPlist("example.plist")    print plistexcept (InvalidPlistException, NotBinaryPlistException), e:    print "Not a plist:", e
0 1
原创粉丝点击