2009-05-18 9 views

Répondre

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