2010-09-16 62 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