কম্পিউটার

পাইথনে কনফিগারেশন ফাইল পার্সার (কনফিগারেশন)


পাইথনের স্ট্যান্ডার্ড লাইব্রেরি থেকে কনফিগারেশন মডিউলটি মাইক্রোসফ্ট উইন্ডোজ ওএস দ্বারা ব্যবহৃত কনফিগারেশন ফাইলগুলি পড়ার এবং লেখার জন্য কার্যকারিতা নির্ধারণ করে। এই ধরনের ফাইলে সাধারণত .INI এক্সটেনশন থাকে।

INI ফাইলটি বিভাগ নিয়ে গঠিত, প্রতিটি একটি [বিভাগ] হেডার দ্বারা পরিচালিত হয়। বর্গাকার বন্ধনীর মধ্যে, আমরা বিভাগের নাম রাখতে পারি। বিভাগটি =বা :অক্ষর দ্বারা পৃথক করা কী/মান এন্ট্রি দ্বারা অনুসরণ করা হয়। এতে # বা; দ্বারা উপসর্গযুক্ত মন্তব্য অন্তর্ভুক্ত থাকতে পারে। প্রতীক একটি নমুনা INI ফাইল নীচে দেখানো হয়েছে -

[Settings]
# Set detailed log for additional debugging info
DetailedLog=1
RunStatus=1
StatusPort=6090
StatusRefresh=10
Archive=1
# Sets the location of the MV_FTP log file
LogFile=/opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log
Version=0.9 Build 4
ServerName=Unknown

[FTP]
# set the FTP server active
RunFTP=1
# defines the FTP control port
FTPPort=21
# Sets the location of the FTP data directory
FTPDir=/opt/ecs/mvuser/MV_IPTel/data/FTPdata
# set the admin Name
UserName=admin
# set the Password
Password=admin
সেট করুন

configparser মডিউলটিতে ConfigParser ক্লাস আছে। এটি কনফিগারেশন ফাইলগুলির একটি তালিকা পার্স করার জন্য এবং পার্স করা ডাটাবেস পরিচালনার জন্য দায়ী৷

ConfigParser অবজেক্ট নিম্নলিখিত বিবৃতি দ্বারা তৈরি করা হয় −

parser = configparser.ConfigParser()

এই শ্রেণীতে নিম্নলিখিত পদ্ধতিগুলি সংজ্ঞায়িত করা হয়েছে -

বিভাগ() সমস্ত কনফিগারেশন বিভাগের নাম ফেরত দিন।
has_section() প্রদত্ত বিভাগটি বিদ্যমান কিনা তা ফেরত দিন।
has_option() প্রদত্ত বিভাগে প্রদত্ত বিকল্পটি বিদ্যমান কিনা তা ফেরত দিন।
বিকল্প() নামিত বিভাগের জন্য কনফিগারেশন বিকল্পের তালিকা ফেরত দিন।
পড়ুন() নামকৃত কনফিগারেশন ফাইলটি পড়ুন এবং পার্স করুন।
read_file() একটি কনফিগারেশন ফাইল পড়ুন এবং পার্স করুন, একটি ফাইল অবজেক্ট হিসাবে দেওয়া হয়েছে।
read_string() প্রদত্ত স্ট্রিং থেকে কনফিগারেশন পড়ুন।
read_dict() কোন অভিধান থেকে কনফিগারেশন পড়ুন। কীগুলি হল বিভাগের নাম, মান হল কী এবং মানগুলির সাথে অভিধান যা বিভাগে উপস্থিত থাকা উচিত৷
get() নামিত বিকল্পের জন্য একটি স্ট্রিং মান ফেরত দিন।
getint() যেমন get(), কিন্তু মানকে একটি পূর্ণসংখ্যাতে রূপান্তর করুন।
getfloat() যেমন get(), কিন্তু মানকে ফ্লোটে রূপান্তর করুন।
getboolean() যেমন get(), কিন্তু মানকে বুলিয়ানে রূপান্তর করুন। মিথ্যা বা সত্য ফেরত দেয়।
আইটেম() বিভাগের প্রতিটি বিকল্পের জন্য (নাম, মান) সহ টিপলের একটি তালিকা ফেরত দিন।
remove_section() প্রদত্ত ফাইল বিভাগ এবং এর সমস্ত বিকল্পগুলি সরান৷
remove_option() প্রদত্ত বিভাগ থেকে প্রদত্ত বিকল্পটি সরান।
সেট() প্রদত্ত বিকল্প সেট করুন।
লিখুন() কনফিগারেশন অবস্থা .ini ফরম্যাটে লিখুন।

নিম্নলিখিত স্ক্রিপ্ট 'sampleconfig.ini' ফাইলটি পড়ে এবং পার্স করে

parser.sections():parser.items(sect)-এ k,v-এর জন্য প্রিন্ট('Section:', sect) এর জন্য
import configparser
parser = configparser.ConfigParser()
parser.read('sampleconfig.ini')
for sect in parser.sections():
   print('Section:', sect)
   for k,v in parser.items(sect):
      print(' {} = {}'.format(k,v))
   print()

আউটপুট

Section: Settings
detailedlog = 1
runstatus = 1
statusport = 6090
statusrefresh = 10
archive = 1
logfile = /opt/ecs/mvuser/MV_IPTel/log/MV_IPTel.log
version = 0.9 Build 4
servername = Unknown

Section: FTP
runftp = 1
ftpport = 21
ftpdir = /opt/ecs/mvuser/MV_IPTel/data/FTPdata
username = admin
password = admin

একটি কনফিগারেশন ফাইল তৈরি করতে write() পদ্ধতি ব্যবহার করা হয়। নিম্নলিখিত স্ক্রিপ্টটি পার্সার অবজেক্টকে কনফিগার করে এবং 'test.ini' প্রতিনিধিত্বকারী একটি ফাইল অবজেক্টে লিখে দেয়।

import configparser
parser = configparser.ConfigParser()
parser.add_section('Manager')
parser.set('Manager', 'Name', 'Ashok Kulkarni')
parser.set('Manager', 'email', 'ashok@gmail.com')
parser.set('Manager', 'password', 'secret')
fp=open('test.ini','w')
parser.write(fp)
fp.close()

  1. পাইথনে ফাইল অবজেক্ট?

  2. পাইথনে জাঙ্ক ফাইল সংগঠক?

  3. Python ব্যবহার করে ওয়েবসাইট ব্লকার

  4. পাইথনে জন্মদিনের অনুস্মারক অ্যাপ্লিকেশন