teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

大文字を使えるようにする例

2020/05/12 03:40

投稿

退会済みユーザー
answer CHANGED
@@ -1,8 +1,31 @@
1
+ Pythonのマニュアルによればこの正規化が好ましくない場合は[オーバーライドできる](https://docs.python.org/3/library/configparser.html#configparser.ConfigParser.optionxform)とあります。
2
+
3
+ ```
4
+ import configparser
5
+
6
+ INI_FILE='test.ini'
7
+
8
+ ini = configparser.ConfigParser()
9
+ ini.optionxform = lambda option: option
10
+ ini['MYSECTION'] = {}
11
+ ini.set("MYSECTION", "PARAM", "test") # セクションとパラメータの名前は大文字で指定
12
+ with open(INI_FILE, "w", encoding="UTF-8") as wf:
13
+ ini.write(wf)
14
+ ```
15
+
16
+ 結果
17
+
18
+ ```ini
19
+ [MYSECTION]
20
+ PARAM = test
21
+ ```
22
+
23
+
1
24
  Wikipediaを引用するのは気が引けますが
2
25
 
3
26
  > 大文字・小文字の区別
4
27
  > パラメータ名やセクション名の大文字・小文字を区別するかどうかは実装によって異なる。マイクロソフトによる実装では区別されていない
5
28
 
6
- とのことですので、マイクロソフト仕様に合わせて正規化されているのでしょう。
29
+ とのことですので、デフォルトはマイクロソフト仕様に合わせて正規化されているのでしょう。
7
30
 
8
31
  https://ja.wikipedia.org/wiki/INI%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB