XMLにPythonのオブジェクトのシリアル化(アップルの.plist)

StackOverflow https://stackoverflow.com/questions/879212

  •  22-08-2019
  •  | 
  •  

質問

私は特にAppleの.plistファイル形式、XMLからとにオブジェクトを読んでシリアライズする必要があります。 Pythonでそれを行うための最もインテリジェントな方法は何ですか?任意の既製のソリューションはありますか?

役に立ちましたか?

解決

チェック plistlibするます。

他のヒント

あなたがMacであると仮定すると、あなたはPyObjCを使用することができます。

ここでシステムのためのPythonを使用してから、プロパティリストからの読み出しの一例です管理に、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

とのplistへの書き込みの例(私が書いた):

#!/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)
私は、bashでdefaults read ~/testを実行すると、

、私が入手ます:

{
    Complex =     (
        47,
        "i^2"
    );
    "Nice Number" = 47;
    Truth = 1;
    "Universal Sum" = 42;
    Vector =     (
        10,
        20,
        30
    );
}

そしてプロパティリストEditor.appで開いたときにファイルが非常に良さそうに見えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top