Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tạo và phân tích file .plist của Mac OS X bằng Python (plistlib)

File có phần mở rộng '.plist' được ứng dụng Mac OS X dùng để lưu thuộc tính ứng dụng. Module plistlib cung cấp giao diện đọc/ghi file danh sách thuộc tính (property list) này.

Định dạng file plist tuần tự hóa các kiểu đối tượng cơ bản: từ điển, danh sách, số, chuỗi. Thường đối tượng cấp cao nhất là từ điển. Để ghi và phân tích file plist, dùng hàm dump() và load(). Chuỗi byte tuần tự hóa được xử lý bằng dumps() và loads(). Giá trị có thể là chuỗi, số nguyên, float, boolean, tuple, list, từ điển (chỉ với khóa chuỗi).

Module này định nghĩa các hàm sau:

load() Đọc file plist trỏ bởi file object đọc được và nhị phân. Định dạng file và các giá trị hợp lệ:
  • None – Tự động phát hiện định dạng file
  • FMT_XML – Định dạng file XML
  • FMT_BINARY – Định dạng plist nhị phân
dump() Ghi giá trị vào file plist tham chiếu bởi file object ghi được và nhị phân. Tham số fmt chỉ định định dạng file plist, có thể là:
  • FMT_XML – File plist định dạng XML
  • FMT_BINARY – File plist định dạng nhị phân
loads() Tải plist từ đối tượng bytes. Xem load() để giải thích các tham số từ khóa.
dumps() Trả về giá trị dưới dạng đối tượng bytes định dạng plist. Xem tài liệu dump() cho giải thích tham số từ khóa.

Script sau lưu từ điển tuần tự hóa vào file 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()

Để đọc file plist dùng hàm load():

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