Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの構成ファイルパーサー(configparser)


Pythonの標準ライブラリのconfigparserモジュールは、MicrosoftWindowsOSで使用される構成ファイルの読み取りと書き込みの機能を定義します。このようなファイルの拡張子は通常.INIです。

INIファイルはセクションで構成され、各セクションは[section]ヘッダーで始まります。角括弧の間に、セクションの名前を入れることができます。セクションの後には、=または:文字で区切られたキー/値エントリが続きます。接頭辞#または;が付いたコメントが含まれる場合があります。シンボル。サンプルの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()

このクラスでは、次のメソッドが定義されています-

sections() すべての構成セクション名を返します。
has_section() 指定されたセクションが存在するかどうかを返します。
has_option() 指定されたオプションが指定されたセクションに存在するかどうかを返します。
options() 指定されたセクションの構成オプションのリストを返します。
read() 指定された構成ファイルを読み取って解析します。
read_file() ファイルオブジェクトとして指定された1つの構成ファイルを読み取って解析します。
read_string() 指定された文字列から構成を読み取ります。
read_dict() 辞書から構成を読み取ります。キーはセクション名であり、値はセクションに存在する必要のあるキーと値を含む辞書です。
get() 指定されたオプションの文字列値を返します。
getint() get()と同様ですが、値を整数に変換します。
getfloat() get()と同様ですが、値をfloatに変換します。
getboolean() get()と同様ですが、値をブール値に変換します。 FalseまたはTrueを返します。
items() セクション内の各オプションの(名前、値)を含むタプルのリストを返します。
remove_section() 指定されたファイルセクションとそのすべてのオプションを削除します。
remove_option() 指定されたセクションから指定されたオプションを削除します。
set() 指定されたオプションを設定します。
write() 構成状態を.ini形式で記述します。

次のスクリプトは、「sampleconfig.ini」ファイルを読み取って解析します

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. Pythonを使用したWebサイトブロッカー

    大規模なIT企業で働いている場合は、その2つのWebサイト、特にFacebook、YouTube、Instagramなどのソーシャルネットワーキングサイトがブロックされていることに気付くかもしれません。 サードパーティのアプリケーションを使用して特定のWebサイトをブロックする代わりに、選択したWebサイトをブロックする独自のカスタムアプリケーションを開発できます。PythonでWebサイトブロッカーを開発することもそれほど難しくありません。それが私たちがやろうとしていることです-私たちが望むウェブサイトをブロックするPythonスクリプトを開発します。 前提条件: Python3.xが

  2. Pythonの誕生日リマインダーアプリケーション

    このセクションでは、Pythonを使用して誕生日のリマインダーアプリケーションを作成する方法を説明します。 問題の説明 Pythonを使用してアプリケーションを作成します。このアプリケーションは、当日の誕生日があるかどうかを確認できます。リストに載っている人の誕生日の場合は、その人の名前でシステムに通知を送信します。 このアプリケーションのルックアップファイルとして、日付と月、および人の名前を保存できるファイルが必要です。ファイルは次のようになります- ここでは、このアプリケーションをスタートアップアプリケーションに変換して、システムの起動時に起動します。 誕生日リマインダーアプリケ