PythonでWindowsでなんやかんや使われている(いた?)iniファイルの読み書きをしてみる。標準でconfigparserと言うモジュールがありそれを使うことにする。
このページを参考にちょっとだけiniファイルを読み書きしてみる。(書き込みはなんとなくこうかな?で試したみた(^^;))
読み込むiniファイル(test.ini)を用意する。
[hoge hoge]
hoge1 = 123
hoge2 = abcd efg hijk
[hoge hoge2]
hoge1 = 456
hoge3 = 789
次に読み書きするプログラムだ。
#! /usr/bin/env python3
import configparser
# 初期化
test_ini = configparser.ConfigParser()
test_ini.read("test.ini", encoding="utf-8")
# test.iniはつぎのようなので
#
# [hoge hoge]
# hoge1 = 123
# hoge2 = abcd efg hijk
#
# [hoge hoge2]
# hoge1 = 456
# hoge3 = 789
#
# hoge hogeセクションのhoge2を読んでみる
print(test_ini["hoge hoge"]["hoge2"])
# 存在しないキーを読んでみる。
#print(test_ini["hoge hoge"]["hoge3"]) # ← KeyErrorになる。ので、とりあえずコメントアウト
try:
print(test_ini["hoge hoge"]["hoge3"])
except KeyError as err:
print("keyerror {0}".format(err))
except:
print("error")
# 値の追加をしてみる
test_ini["hoge hoge2"]["hoge4"] = "hogehogehoge"
# 書き込んでみる。
f = open("test2.ini", "w")
test_ini.write(f)
f.close()
個人的にはこれでことたりそうなので終わるが、参考にしたページには他にもいろいろ書いてあったので目を通した方がいいと思う。
コメント