前提・実現したいこと
プログラミング初心者です。
PythonのConfigparserというライブラリを使用して、下記example.iniファイルの解析をしたいと思い、試しにtest.pyファイルを書きました。
exapmle.iniには重複する名前のsectionやkeyが存在しており、configparserで全ての値を取得したいです。
iniファイルの重複セクションや重複キーから全てのバリューを取得するには、どうしたらいいでしょうか。
目的が達成されるのであれば、configparserを使用しない方法でも構いません。
発生している問題・エラーメッセージ
configparserでは一つのセクションやキーに対して、取得できるvalueが一つのようで、重複したキーから取得された値は上書きされて、最後のvalueのみが取得されてしまいます。
出力結果は
DOC_TABLES "カレントリビジョン","CUR_REVISION","@INT","NOT NULL",,"0","",$FFFFFFFF,""
となってしまいます。
該当のソースコード
exampl.ini
[Entity] PName=DOC_INDEXES LName=インデックスマスタ Field="テーブルID","TAB_ID","@INT","NOT NULL",0,"","",$FFFFFFFF,"" Field="インデックスID","COL_ID","@INT","NOT NULL",1,"","",$FFFFFFFF,"" [Entity] PName=DOC_TABLES LName=[1]テーブルマスタ Field="テーブルID","TAB_ID","@INT","NOT NULL",0,"","",$FFFFFFFF,"" Field="カレントリビジョン","CUR_REVISION","@INT","NOT NULL",,"0","",$FFFFFFFF,""
test.py
# coding:utf-8 import configparser config_ini = configparser.ConfigParser(strict=False) config_ini.read('example.ini', encoding='utf-8') read_default = config_ini['Entity'] var1 = read_default.get('PName') var2 = read_default.get('Field') print(var1) print(var2)
![guest](/img/icon/icnUserSample.jpg)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/06 13:45