python學習筆記31:操作ini檔案
阿新 • • 發佈:2022-04-20
python操作ini檔案
目錄1. ini檔案是什麼
[本節內容來自百度百科]
.ini 檔案是Initialization File的縮寫,即初始化檔案, 是windows的系統配置檔案所採用的儲存格式,統管windows的各項配置,一般使用者就用windows提供的各項圖形化管理介面就可實現相同的配置了。但在某些情況,還是要直接編輯.ini才方便,一般只有很熟悉windows才能去直接編輯。開始時用於WIN3X下面,WIN95用登錄檔代替,以及後面的內容表示一個節,相當於登錄檔中的鍵。
除了windows2003很多其他作業系統下面的應用軟體也有.ini檔案,用來配置應用軟體以實現不同使用者的要求。一般不用直接編輯這些.ini檔案,應用程式的圖形介面即可操作以實現相同的功能。它可以用來存放軟體資訊,登錄檔資訊等。
2. ini檔案基本格式
ini檔案由節, 鍵, 值組成.
[section]
key = value
註釋以#或分號開始.
file.ini
; note
# sample
[section0]
param00 = value00
param01 = value01
[section1]
param10 = value10
param11 = value11
3. 用python操作ini檔案
>>> import configparser # 匯入包 >>> >>> conf = configparser.ConfigParser() # 例項化 >>> conf.read('file.ini', encoding='utf-8') # 讀取檔案 ['file.ini'] >>> >>> ############## >>> #訪問ini內容 >>> ############## >>> >>> # 獲取所有section的名稱, 是一個list. >>> _list_sections = conf.sections() >>> print(f'{type(_list_sections)} {_list_sections}') <class 'list'> ['section0', 'section1'] >>> >>> # 獲取section下所有的鍵值對, 是一個list. >>> _list_items = conf.items('section0') >>> print(f'{type(_list_items)} {_list_items}') <class 'list'> [('param00', 'value00'), ('param01', 'value01')] >>> >>> # 使用dict的方式獲取value, 返回str型別 >>> val00 = conf['section0']['param00'] >>> print(f'{type(val00)} {val00}') <class 'str'> value00 >>> >>> # 使用get()獲取value, 返回str型別 >>> s_val11 = conf.get('section1', 'param11') >>> print(f'{type(s_val11)} {s_val11}') <class 'str'> 11 >>> >>> # 使用getint()獲取value, 返回int型別 >>> # 類似的還有getfloat(), getboolean() >>> i_val11 = conf.get('section1', 'param11') >>> print(f'{type(i_val11)} {i_val11}') <class 'int'> 11 >>> >>> ############## >>> #修改ini內容 >>> ############## >>> >>> # 新增section >>> conf.add_section('section2') >>> print(conf.sections()) ['section0', 'section1', 'section2'] >>> >>> # 新增新的key >>> conf.set('section2', 'param20', 'value20') >>> >>> # 修改已有key的value >>> conf.set('section1', 'param10', 'value10_new') >>> >>> # 刪除section, 刪除key >>> conf.remove_section('section0') True >>> del conf['section1']['param11'] >>> >>> # 寫到檔案中 >>> conf.write(open('file_out.ini', 'w'))