使用 Python (plistlib) 生成和解析 Mac OS X .plist 文件


扩展名为 '.plist' 的文件由 Mac OS X 应用程序用于存储应用程序属性。plistlib 模块提供了一个用于读取/写入这些属性列表文件的接口。

plist 文件格式序列化基本对象类型,如字典、列表、数字和字符串。通常,顶级对象是一个字典。要写入和解析 plist 文件,请使用 dump() 和 load() 函数。序列化字节字符串通过使用 dumps() 和 loads() 函数来处理。值可以是字符串、整数、浮点数、布尔值、元组、列表、字典(但仅限于字符串键)。

此模块定义以下函数:

load()读取可读的二进制文件对象指向的 plist 文件。文件的格式以及以下值均有效
  • None - 自动检测文件格式

  • FMT_XML - XML 文件格式

  • FMT_BINARY - 二进制 plist 格式

dump()将值写入可写的二进制文件对象引用的 plist 文件。fmt 参数指定 plist 文件的格式,可以是以下值之一
  • FMT_XML - XML 格式的 plist 文件

  • FMT_BINARY - 二进制格式的 plist 文件

loads()从字节对象加载 plist。有关关键字参数的说明,请参阅 load()。
dumps()返回值作为 plist 格式的字节对象。有关此函数的关键字参数的说明,请参阅 dump() 的文档。

以下脚本将序列化的字典存储在 plist 文件中

import plistlib
properties = {
   "name" : "Ramesh",
   "College":"ABC College",
   "Class":"FY",
   "marks" : {"phy":60, "che":60, "maths":60}
}
fileName=open('prpos.plist','wb')
plistlib.dump(pl, fileName)
fileName.close()

要读取 plist 文件,请使用 load() 函数

with open('marks.plist', 'rb') as fp:
   pl = plistlib.load(fp)
   print(pl)

更新于:2019-07-30

2K+ 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告