Computer >> Máy Tính >  >> Lập trình >> Python

Tạo và phân tích cú pháp tệp .plist Mac OS X bằng Python (plistlib)

Các tệp có phần mở rộng là '.plist' được các ứng dụng Mac OS X sử dụng để lưu trữ các thuộc tính của ứng dụng. Mô-đun plislib cung cấp một giao diện để đọc / ghi các hoạt động của các tệp danh sách thuộc tính này.

Định dạng tệp plist sắp xếp các loại đối tượng cơ bản, như từ điển, danh sách, số và chuỗi. Thông thường, đối tượng cấp cao nhất là một từ điển. Để viết ra và phân tích cú pháp một tệp plist, hãy sử dụng các hàm dump () và load (). Các chuỗi byte được tuần tự hóa được xử lý bởi các hàm use dumps () và load (). Giá trị có thể là chuỗi, số nguyên, float, boolean, bộ giá trị, danh sách, từ điển (nhưng chỉ với các khóa chuỗi).

Mô-đun này xác định các chức năng sau -

load () Đọc tệp plist được trỏ bởi đối tượng tệp nhị phân và có thể đọc được. định dạng của tệp và các giá trị sau là hợp lệ
  • Không có - Tự động phát hiện định dạng tệp

  • FMT_XML - Định dạng tệp XML

  • FMT_BINARY - Định dạng plist nhị phân

dump () Ghi giá trị vào tệp plist được tham chiếu bởi đối tượng tệp nhị phân, có thể ghi. Đối số fmt chỉ định định dạng của tệp plist và có thể là một trong các giá trị sau
  • FMT_XML - Tệp plist có định dạng XML

  • FMT_BINARY - Tệp plist được định dạng nhị phân

tải () Tải một plist từ một đối tượng byte. Xem load () để biết giải thích về các đối số của từ khóa.
kết xuất () Trả về giá trị dưới dạng đối tượng byte được định dạng plist. Xem tài liệu về dump () để biết giải thích về các đối số từ khóa của hàm này.

Tập lệnh sau lưu trữ từ điển tuần tự trong tệp 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 tệp plist, hãy sử dụng hàm load ()

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