#概要
pythonで事前設定値を投入する際に設定ファイルから設定値を読み取ることができるようにする必要があったので、調べた際の情報をここにまとめる。
##条件
-
Windows10
-
Python 3.7.1
#初期化ファイル(iniファイル)
##初期化ファイルとは
主にWindowsで使用される設定
以下に初期化ファイルの例を示す。
.iniファイル
; コメント
;[セクション名]
[ini1]
;オプション名 = 値
Timestamp = enable
Server_access = FTP
Server_ip = ip_addr1
[ini2]
Timestamp = disable
Server_access = FTP
Server_ip = ip_addr2
##pythonで.iniを参照する方法
python標準であるConfigParserモジュールを使用する。
iniファイルの読み込み
import configparser
inifile = configparser.ConfigParser()
inifile.read("test.ini","utf-8")
#設定ファイル内のセクション名とオプション名で値にアクセスできる。
print(inifile['ini1'])
print(inifile['ini1']['Timestamp'])
実行結果
<Section: ini1>
enable
inifile.readを変数に代入するとlist型になってしまうのでうまくいかない。
失敗例
import configparser
inifile = configparser.ConfigParser()
file = inifile.read("test.ini","utf-8")
print(type(file))
print(file['ini1']['Timestamp'])
実行結果
<class 'list'>
TypeError: list indices must be integers or slices, not str
#参考サイト