পাইথনের স্ট্যান্ডার্ড লাইব্রেরি থেকে কনফিগারেশন মডিউলটি মাইক্রোসফ্ট উইন্ডোজ ওএস দ্বারা ব্যবহৃত কনফিগারেশন ফাইলগুলি পড়ার এবং লেখার জন্য কার্যকারিতা নির্ধারণ করে। এই ধরনের ফাইলে সাধারণত .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', '[email protected]') parser.set('Manager', 'password', 'secret') fp=open('test.ini','w') parser.write(fp) fp.close()