2010-09-16 65 views
10

是否有任何Python项目/模块在二进制plist编写器上工作?我需要一个REST实现。例如,我希望服务器发送一个包含二进制plist而不是json的HTTP REsponse。服务器是安装了mod_python和django的Apache。考虑到将jlist和bplist格式一起添加为输出格式,只是为了简化iPhone上的解析,并减少数据传输。二进制plist的Python模块

我正在考虑写自己的作品,但是对现有作品的贡献是可以预见的。

在此先感谢。

回答

13

我担心我可能必须学习SWIG,自己实现这个,或者切换到其他语言来执行这个涉及解析二进制plist的爱好项目 - 但是在快速pip search plist之后,我发现了biplist

2

plistlib在默认的Python发行版中怎么样?自Python 2.6以来,它可用于所有平台;在Python 2.6之前,它被包含在Mac版本中,但是我想你可以简单地从Python 2.6中获取源代码,并且如果你确实需要支持较老的Python版本,就可以将其返回。

更新:对不起,我刚刚意识到你需要支持二进制plist格式。在这种情况下,请使用支持二进制和XML格式的libplist。它是用C++编写的,但它们提供了一个SWIG接口定义文件,SWIG可以通过它定义一个Python模块。 Ubuntu/Debian还包含一个名为python-plist的软件包,其中包含预编译的二进制文件。

+1

嗨Tamás,我的印象是plistlib只处理文本的plists,而不是二元plists。我需要以.bplist格式传输.plist。 – 2010-09-16 10:11:29

+0

对不起,我错过了,因此我已经更新了我的答案。 – 2010-09-16 11:54:08

+0

杰出,正是我需要的!谢谢! – 2010-09-16 12:22:09