iniファイルのデータを読み込むときに、configparserを利用するのも一手です。
この手法を利用することで、読み込みたいデータやパラメータを変更したいときでも、
プログラムを書き換えずに済むため、ミス防止に役立ちます。
使い方についてまとめておきます。
1,前準備
------------------------------------------
import configparser
config = configparser.ConfigParser(allow_no_value=True, inline_comment_prefixes=('#', ';')) # iniファイル内の#や;以下をコメントアウトとして処理する。
config.optionxform = str # 大文字と小文字を区別する。
------------------------------------------
2,読み込むiniファイルの指定
------------------------------------------
config.read('読み込みたいファイル名.ini')
------------------------------------------
※iniファイル内でコメントを日本語で書きたい場合、
config.read('読み込みたいファイル名.ini', encoding="utf-8_sig")
とすると、うまくいく。
3,ファイルの読み込み
------------------------------------------
y = aaa('bbb','ccc')
-----------------------------------------
こうすると、iniファイル内に書いてあるbbbという項目内のcccという変数の値xxxがyに格納されます。
*********************************************
○実行例
iniファイルが以下のようになっている場合。
------------------------------------------
[bbb]
ccc = xxx # コメント
ddd = zzz # コメント
---------------------------------------------
この場合、プログラム内で y = aaa('bbb','ccc') と書くと、yにxxxが格納されます。
※aaaについて
"aaa"の部分は読み込みたい変数によって変えます。
この手法を利用することで、読み込みたいデータやパラメータを変更したいときでも、
プログラムを書き換えずに済むため、ミス防止に役立ちます。
使い方についてまとめておきます。
1,前準備
------------------------------------------
import configparser
config = configparser.ConfigParser(allow_no_value=True, inline_comment_prefixes=('#', ';')) # iniファイル内の#や;以下をコメントアウトとして処理する。
config.optionxform = str # 大文字と小文字を区別する。
------------------------------------------
2,読み込むiniファイルの指定
------------------------------------------
config.read('読み込みたいファイル名.ini')
------------------------------------------
※iniファイル内でコメントを日本語で書きたい場合、
config.read('読み込みたいファイル名.ini', encoding="utf-8_sig")
とすると、うまくいく。
3,ファイルの読み込み
------------------------------------------
y = aaa('bbb','ccc')
-----------------------------------------
こうすると、iniファイル内に書いてあるbbbという項目内のcccという変数の値xxxがyに格納されます。
*********************************************
○実行例
iniファイルが以下のようになっている場合。
------------------------------------------
[bbb]
ccc = xxx # コメント
ddd = zzz # コメント
---------------------------------------------
この場合、プログラム内で y = aaa('bbb','ccc') と書くと、yにxxxが格納されます。
※aaaについて
"aaa"の部分は読み込みたい変数によって変えます。
aaaに入れる文字 | 型 | |
config.getint | int | 整数が読み込まれます。 |
config.getfloat | float | 小数が読み込まれます。 |
config.get | str | 文字列が読み込まれます。 |
config.options | str | 複数の文字列が読み込まれます。 |
その他 | numpy | numpy配列として読み込みたいときには、事前に"import json"したうえで、
y = np.array(json.loads(config.get("bbb","ccc"))) と入力すればOKです。 |
コメント