Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างและแยกวิเคราะห์ไฟล์ .plist ของ Mac OS X โดยใช้ Python (plistlib)


ไฟล์ที่มีนามสกุล '.plist' ถูกใช้โดยแอปพลิเคชัน Mac OS X เพื่อจัดเก็บคุณสมบัติของแอปพลิเคชัน โมดูล plislib มีอินเทอร์เฟซสำหรับอ่าน/เขียนการดำเนินการของไฟล์รายการคุณสมบัติเหล่านี้

รูปแบบไฟล์ plist ทำให้ประเภทอ็อบเจ็กต์พื้นฐานเป็นอนุกรม เช่น พจนานุกรม รายการ ตัวเลข และสตริง โดยปกติวัตถุระดับบนสุดคือพจนานุกรม ในการเขียนและแยกวิเคราะห์ไฟล์ plist ให้ใช้ฟังก์ชัน dump() และ load() สตริงไบต์แบบอนุกรมได้รับการจัดการโดยใช้ฟังก์ชัน dumps() และ loads() ค่าอาจเป็นสตริง, จำนวนเต็ม, ทุ่น, บูลีน, ทูเพิล, รายการ, พจนานุกรม (แต่มีเฉพาะคีย์สตริง)

โมดูลนี้กำหนดฟังก์ชันต่อไปนี้ -

load() อ่านไฟล์ plist ที่ชี้โดยวัตถุไฟล์ไบนารีที่อ่านได้ รูปแบบของไฟล์และค่าต่อไปนี้ถูกต้อง
  • ไม่มี - ตรวจหารูปแบบไฟล์โดยอัตโนมัติ

  • FMT_XML - รูปแบบไฟล์ XML

  • FMT_BINARY - รูปแบบ plist ไบนารี

ดัมพ์() เขียนค่าลงในไฟล์ plist ที่อ้างอิงโดยอ็อบเจกต์ไฟล์ไบนารีที่เขียนได้ อาร์กิวเมนต์ fmt ระบุรูปแบบของไฟล์ plist และสามารถเป็นหนึ่งในค่าต่อไปนี้
  • FMT_XML - ไฟล์ plist ที่จัดรูปแบบ XML

  • FMT_BINARY – ไฟล์ plist ที่มีรูปแบบไบนารี

โหลด() โหลด plist จากอ็อบเจ็กต์ไบต์ ดู load() สำหรับคำอธิบายของอาร์กิวเมนต์ของคีย์เวิร์ด
ดัมพ์() คืนค่าเป็นอ็อบเจ็กต์ไบต์ที่จัดรูปแบบ 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)