我需要从和XML阅读和序列化对象,苹果在特定的.plist格式。什么是最聪明的办法做到这一点在Python?是否有任何现成的解决方案?

有帮助吗?

解决方案

查核 plistlib

其他提示

假设你是在Mac上,可以使用PyObjC。

下面是从plist中读取,从使用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