使用 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+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告