'.plist' এক্সটেনশন যুক্ত ফাইলগুলো Mac OS X অ্যাপ্লিকেশনগুলো অ্যাপ্লিকেশন প্রোপার্টি সংরক্ষণ করতে ব্যবহার করে। plistlib মডিউল এই প্রপার্টি লিস্ট ফাইলগুলো পড়া/লেখার ইন্টারফেস দেয়।
plist ফাইল ফরম্যাট বেসিক অবজেক্ট টাইপ সিরিয়ালাইজ করে—যেমন ডিকশনারি, লিস্ট, নাম্বার, স্ট্রিং। সাধারণত টপ-লেভেল অবজেক্ট হলো একটি ডিকশনারি। plist ফাইল লিখতে ও পার্স করতে dump() এবং load() ফাংশন ব্যবহার করুন। সিরিয়ালাইজড বাইট স্ট্রিং হ্যান্ডেল করতে dumps() এবং loads() ফাংশন ব্যবহার করুন। ভ্যালু হতে পারে স্ট্রিং, ইন্টিজার, ফ্লোট, বুলিয়ান, টাপল, লিস্ট, ডিকশনারি (কিন্তু স্ট্রিং কী দিয়ে)।
এই মডিউল নিচের ফাংশনগুলো ডিফাইন করে:
| ফাংশন | বিবরণ |
|---|---|
| load() | পড়ার যোগ্য বাইনারি ফাইল অবজেক্ট দ্বারা নির্দেশিত plist ফাইল পড়ুন। ফাইলের ফরম্যাট এবং নিচের মানগুলো বৈধ:
|
| dump() | লিখার যোগ্য বাইনারি ফাইল অবজেক্ট দ্বারা রেফারেন্সড plist ফাইলে ভ্যালু লিখুন। fmt আর্গুমেন্ট plist ফাইলের ফরম্যাট নির্দেশ করে এবং নিচের মানগুলোতে হতে পারে:
|
| loads() | একটি বাইটস অবজেক্ট থেকে plist লোড করুন। keyword আর্গুমেন্টের ব্যাখ্যা load()-এ দেখুন। |
| dumps() | ভ্যালুটিকে plist-ফরম্যাটেড বাইটস অবজেক্ট হিসেবে রিটার্ন করুন। dump()-এর keyword আর্গুমেন্টের ব্যাখ্যা দেখুন। |
নিচের স্ক্রিপ্ট সিরিয়ালাইজড ডিকশনারি 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(properties, fileName)
fileName.close()
plist ফাইল পড়তে load() ফাংশন ব্যবহার করুন:
with open('marks.plist', 'rb') as fp:
pl = plistlib.load(fp)
print(pl)