Python plistlib archivo invadido por los valores de cocoa?

Estoy usando plistlib para crear y actualizar un archivo de plist simple en OS X. Un probador en Noruega está recibiendo un error de plistlib:

File "../axeomatic2/normal/build/pyi.darwin/aomDSP/out03-PYZ.pyz/plistlib", line 406, in parse xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 8 

Al mirar el archivo plist que se generó en su sistema, veo campos como este intercalados con las entradas esperadas:

 NSTableView Sort Ordering Array ... NSTableView Hidden Columns Array ... NSTableView Columns Array ... NSNavLastRootDirectory Array 

Si le doy una lista de mi sistema, funciona bien, pero cada vez que el progtwig decide que necesita crear uno desde cero, obtiene un error.

Pensé que tal vez era un problema de encoding, pero ambos estamos en OS X 10.7 y ambos estamos usando la versión OS X de UTF-8.

¿Alguna idea sobre lo que podría estar sucediendo, o cómo podría solucionar esto de forma remota?

    Tuve un problema similar antes, después de probar biplist , se resolvió.

    Se ha agregado soporte de binarios binarios a plistlib desde python 3.4. https://docs.python.org/3.4/library/plistlib.html

    En realidad hay dos categorías de formato plist Uno es en realidad un archivo XML simple (que plistlib sabe cómo analizar con un expat ), el otro es la binary property list .

    Desafortunadamente, ambos comparten el mismo sufijo .plist , y todas las herramientas de Apple los tratan de manera transparente (por ejemplo, no sabe si está trabajando con una lista XML o una lista binaria, usando herramientas como defaults )

    Como dijo @northtree, el paquete biplist es la herramienta correcta para leer / escribir el archivo plist binario.

    ACTUALIZAR:

    También puede usar plutil(1) que viene con OSX para convertir cualquier archivo plist nuevo al formato XML, y luego procesado por plistlib

    https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/plutil.1.html