Python2.7にてiniファイルの内容書き換えを行いたいと考えております。
具体的には、iniファイル内のtestmodeの値を
0を1
または
1を0
に書き換えを行いたいのです。
現状、書き換えには成功しています。
しかし、iniファイル内の改行およびコメントが欠損してしまい
元の形から変わってしまいます。
これを元の形を維持したまま、書き換えを行うようにしたいと考えています。
(起こっている事象)
■元のiniファイルの中身
text
1#テストモード判定 20なら本番、1ならテスト 3[testmode] 4test_mode:0 5 6##何台目のPCなのかを判定 7[pc_number] 8pc_num : 1 9・・・・
上記が以下のように表示されるように変更
■変更後のiniファイルの中身
text
1[testmode]test_mode = 1[pc_number]pc_num = 0・・・
iniファイルは管理者以外も触る必要があるため、元の形状を保持した状態で書き換えをしたいと考えております。
また、iniファイルを2つ準備し、切替させることも考えましたが、頻繁にiniファイルの書き換えが発生するため、管理上、切替をしないようにしたいと考えております。
該当のソースコード
※python2.7
Python
1path3 = os.path.abspath(u"C:\Python\INI\settting.ini") 2inifile = ConfigParser.SafeConfigParser() 3inifile.read(path3) 4 5#aの値は別途持ってくるようにしてあります 6if a == u"テストモード": 7 inifile.set("testmode", "test_mode", "1") 8 with open(path3,'wb') as f: 9 inifile.write(f) 10elif a == u"本番モード": 11 inifile.set("testmode", "test_mode", "0") 12 with open(path3,'wb') as f: 13 inifile.write(f) 14else: 15 inifile.set("testmode", "test_mode", "1") 16 with open(path3,'wb') as f: 17 inifile.write(f)
わかりづらい点もあるかと思いますが、アドバイスいただけますでしょうか。
宜しくお願いいたします。
※上記コードの参考URL
https://symfoware.blog.fc2.com/blog-entry-1589.html
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/04 04:44
2018/12/04 04:52
2018/12/04 05:06
2018/12/04 05:19