1. 程式人生 > 其它 >python學習筆記31:操作ini檔案

python學習筆記31:操作ini檔案

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'))