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', '[email protected]') parser.set('Manager', 'password', 'secret') fp=open('test.ini','w') parser.write(fp) fp.close()>
-
Pythonを使用したWebサイトブロッカー
大規模なIT企業で働いている場合は、その2つのWebサイト、特にFacebook、YouTube、Instagramなどのソーシャルネットワーキングサイトがブロックされていることに気付くかもしれません。 サードパーティのアプリケーションを使用して特定のWebサイトをブロックする代わりに、選択したWebサイトをブロックする独自のカスタムアプリケーションを開発できます。PythonでWebサイトブロッカーを開発することもそれほど難しくありません。それが私たちがやろうとしていることです-私たちが望むウェブサイトをブロックするPythonスクリプトを開発します。 前提条件: Python3.xが
-
Pythonの誕生日リマインダーアプリケーション
このセクションでは、Pythonを使用して誕生日のリマインダーアプリケーションを作成する方法を説明します。 問題の説明 Pythonを使用してアプリケーションを作成します。このアプリケーションは、当日の誕生日があるかどうかを確認できます。リストに載っている人の誕生日の場合は、その人の名前でシステムに通知を送信します。 このアプリケーションのルックアップファイルとして、日付と月、および人の名前を保存できるファイルが必要です。ファイルは次のようになります- ここでは、このアプリケーションをスタートアップアプリケーションに変換して、システムの起動時に起動します。 誕生日リマインダーアプリケ