কম্পিউটার টিউটোরিয়াল

পাইথনে Mac OS X .plist ফাইল জেনারেট ও পার্স (plistlib মডিউল)

'.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 লোড করুন। 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)
  1. পাইথনে uuencode ফাইল এনকোড ও ডিকোড করা

  2. পাইথনে xlsxwriter মডিউল ব্যবহার করে এক্সেল ফাইল তৈরি ও লেখা

  3. পাইথনে openpyxl ব্যবহার করে এক্সেল ফাইল পড়া ও লিখা

  4. Mac-এ Python 3 আপগ্রেড ও ব্যবহার করা