Je dois lire et sérialiser des objets de et vers XML, en particulier le format .plist d'Apple. Quelle est la manière la plus intelligente de le faire en Python? Y a-t-il des solutions toutes faites?Sérialisation d'un objet Python en XML (Apple .plist)
3
A
Répondre
7
Découvrez plistlib.
2
En supposant que vous êtes sur un Mac, vous pouvez utiliser PyObjC.
Voici un exemple de lecture d'un plist, de Using Python For System Administration, faites glisser 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
Et un exemple d'écriture à un plist (que j'ai écrit):
#!/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)
Quand je puis exécutez defaults read ~/test
en bash, je reçois:
{
Complex = (
47,
"i^2"
);
"Nice Number" = 47;
Truth = 1;
"Universal Sum" = 42;
Vector = (
10,
20,
30
);
}
Et le fichier est très joli quand ouvert dans Property List Editor.app.
Questions connexes
- 1. Paramètres utilisateur Sérialisation XML d'un objet
- 2. Sérialisation d'un objet Python vers/depuis un téléphone S60
- 3. en continu XML sérialisation en .net
- 4. Implémentation de la liste de propriétés (plist) de Apple en C++
- 5. Injecter l'attribut XML en sérialisation
- 6. sérialisation XML .NET en 2009
- 7. Comment obtenir xml dans un format requis lors de la sérialisation d'un objet en utilisant la sérialisation XML dans .Net
- 8. Tableau de sérialisation XML
- 9. sérialisation XML vs réflexion en C#
- 10. Sérialisation XML d'un objet contenant des caractères invalides
- 11. WCF sérialisation XML
- 12. Sérialisation d'objets Java en xml et en arrière (configuration XML)
- 13. orientation objet et sérialisation
- 14. Charger plusieurs éléments XML dans un objet en utilisant la sérialisation en C#
- 15. Sérialisation des données SQL CE en XML
- 16. sérialisation XML, sans espace
- 17. XML sérialisation question
- 18. Sérialisation XML C# Array
- 19. Sérialiser le dictionnaire Python en XML
- 20. sérialisation XML - XmlCDataSection comme Serialization.XmlText
- 21. Tableau de iPhone plist
- 22. XML défini par l'utilisateur sérialisation
- 23. Xml Sérialisation dans une collection
- 24. Sérialisation XML des classes dérivées
- 25. La sérialisation XML est lente
- 26. Sérialisation XML et schéma sans xsd.exe
- 27. Flex - Sérialisation XML et dé-sérialisation des structures d'objets imbriquées
- 28. Problème sérialisation d'une classe contenant une collection en utilisant sérialisation XML
- 29. Sérialisation d'une liste <T> en XML avec héritage
- 30. Parse Plist (NSString) dans NSDictionary