Serialisieren ein Python-Objekt zu XML (Apple-.plist)
Frage
Ich muß lesen und serialisiert Objekte von und nach XML, Apples .plist-Format im Besonderen. Was ist der klügste Weg, um es in Python zu tun? Gibt es fertige Lösungen?
Lösung
Schauen Sie sich plistlib .
Andere Tipps
Angenommen, Sie auf einem Mac sind, können Sie PyObjC verwenden.
Hier ist ein Beispiel aus einer plist des Lesens von Python für System Verwaltung , schieben 27.
from Cocoa import NSDictionary
myfile = "/Library/Preferences/com.apple.SoftwareUpdate.plist"
mydict = NSDictionary.dictionaryWithContentsOfFile_(myfile)
print mydict["LastSuccessfulDate"]
# returns: 2009-08-11 08:38:01 -0600
Und ein Beispiel zu einer plist schreiben (die ich schrieb):
#!/usr/bin/env python
from Cocoa import NSDictionary, NSString
myfile = "~/test.plist"
myfile = NSString.stringByExpandingTildeInPath(myfile)
mydict = {"Nice Number" : 47, "Universal Sum" : 42}
mydict["Vector"] = (10, 20, 30)
mydict["Complex"] = [47, "i^2"]
mydict["Truth"] = True
NSDictionary.dictionaryWithDictionary_(mydict).writeToFile_atomically_(myfile, True)
Als ich dann defaults read ~/test
in bash laufen, erhalte ich:
{
Complex = (
47,
"i^2"
);
"Nice Number" = 47;
Truth = 1;
"Universal Sum" = 42;
Vector = (
10,
20,
30
);
}
Und die Datei sieht sehr schön aus, wenn sie in Eigenschaftenliste Editor.app geöffnet.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow