ホームページ >バックエンド開発 >Python チュートリアル >Python で ConfigParser を使用して ini 構成ファイルを解析する例

Python で ConfigParser を使用して ini 構成ファイルを解析する例

WBOY
WBOYオリジナル
2016-06-16 08:42:171131ブラウズ

ini ファイルは、Windows で一般的に使用される構成ファイルです。主な形式は次のとおりです。

コードをコピー コードは次のとおりです:

[セクション1]
オプション 1 : 値 1
オプション 2 : 値 2

Python には、このフォームと同様のファイルを解析するために使用できる単純なモジュール ConfigParser が用意されています。 ConfigParser モジュールは key:value や key=value などの型を解析でき、# と; で始まる行は自動的に無視されます。コメント行に相当します。よく使用される関数:
コードをコピー コードは次のとおりです:

ConfigParser.RawConfigParser()

RawConfigParser オブジェクトの操作は次のとおりです:

.sections() : 利用可能なすべてのセクションを返します
.addsection(セクション名): セクションを追加
.set(セクション名, オプション名, オプション値): オプション
を追加します .hassection(セクション名): 判決
.options(セクション名): セクション
で使用可能なオプションを返します。 .hasoption(セクション名, オプション名): 判定
.read(filename): ファイルを読み取ります
.wrie(filename) : RawConfigParser オブジェクトをファイル
に書き込みます .get(セクション名, オプション名): 値を取得します。デフォルトでは文字列型
が返されます。 .getfloat、.getint、.getboolean: さまざまなタイプの戻り値を取得します。パラメーターは get
のパラメーターと同じです。 .items(セクション名): セクションの下のすべてのキーをリストします: value
.remove(セクション名): セクションを削除
.remove(セクション名, オプション名): セクションの下のオプション
を削除します


デモ -- ファイルの生成
コードをコピー コードは次のとおりです:

$ cat ini_demo.py
# -*- コーディング:utf-8 -*-

ConfigParser をインポート

def gen_ini():
ftest = open('test','w')
config_write = ConfigParser.RawConfigParser()
config_write.add_section('セクション_a')
config_write.add_section('セクション_b')
config_write.add_section('Section_c')
config_write.set('Section_a','option_a1','apple_a1')
config_write.set('セクション_a','オプション_a2','バナナ_a2')
config_write.set('セクション_b','オプション_b1','apple_b1')
config_write.set('セクション_b','オプション_b2','バナナ_b2')
config_write.set('セクション_c','オプション_c1','apple_c1')
config_write.set('セクション_c','オプション_c2','バナナ_c2')
config_write.write(ftest)
ftest.close()

if __name__ == "__main__":
gen_ini()


最終的に生成されるファイルは次のとおりです:
コードをコピー コードは次のとおりです:

$猫テスト
[セクション_a]
オプション_a1 = リンゴ_a1
オプション_a2 = バナナ_a2

[セクション_c]
オプション_c2 = バナナ_c2
オプション_c1 = apple_c1

[セクション_b]
オプション_b1 = アップル_b1
オプション_b2 = バナナ_b2
デモ -- ファイルを読み取ります

def read_ini():
config_read = ConfigParser.RawConfigParser()
config_read.read('test')
config_read.sections() を印刷します
Print config_read.items('Section_a')
Print config_read.get('Section_a','option_a1')


最終結果は次のようになります:
コードをコピー コードは次のとおりです:

['セクション_a'、'セクション_c'、'セクション_b'】
[('option_a2', 'banana_a2'), ('option_a1', 'apple_a1')]
apple_a1
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。