【问题标题】:Python module for binary plist二进制 plist 的 Python 模块
【发布时间】:2010-09-16 09:16:55
【问题描述】:

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

我正在考虑自己编写,但最好为现有项目做出贡献。

提前致谢。

【问题讨论】:

    标签: iphone python plist


    【解决方案1】:

    我担心我可能不得不学习 SWIG,自己实现它,或者为这个涉及解析二进制 plist 的爱好项目切换到另一种语言 - 但在快速 pip search plist 之后,我找到了 biplist

    【讨论】:

      【解决方案2】:

      默认 Python 发行版中的 plistlib 怎么样?它适用于 Python 2.6 以来的所有平台;在 Python 2.6 之前,它已包含在 Mac 版本中,但我想如果您确实需要支持较旧的 Python 版本,您可以简单地从 Python 2.6 中获取源代码并进行反向移植。

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

      【讨论】:

      • 嗨 Tamás,我的印象是 plistlib 只处理文本 plist,而不是二进制 plist。我需要传输 .bplist 格式的 .plist。
      • 对不起,我错过了,我已经相应地更新了我的答案。
      • 非常棒,正是我需要的!谢谢!
      • plistlib 现在支持二进制格式(来自 Python 3.4)
      猜你喜欢
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2014-02-20
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      相关资源
      最近更新 更多