? ? ? ? python configparser模塊用來(lái)處理ini文件,讀、寫(xiě)都很方便,唯一要注意的是ini文件有格式要求,格式為:鍵=值,如果沒(méi)有等于號(hào),讀取時(shí)會(huì)拋出異常。
一、讀取文件
1.1、read(filename),讀取ini文件內(nèi)容。
>>>
>>> import configparser
>>>
>>> file = r'D:\test.ini'
>>> file
'D:\\test.ini'
>>> cf = configparser.ConfigParser()
>>> file_name = cf.read(file)
Traceback (most recent call last):
File "
", line 1, in
file_name = cf.read(file)
File "C:\python37\lib\configparser.py", line 696, in read
self._read(fp, filename)
File "C:\python37\lib\configparser.py", line 1014, in _read
for lineno, line in enumerate(fp, start=1):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 15: illegal multibyte sequence
>>> file_name = cf.read(file, encoding='utf-8')
>>> file_name
['D:\\test.ini']
>>>
1.2、sections(),讀取所有的section,以列表形式返回。
>>>
>>> section = cf.sections()
>>> section
['xiaoming', 'liqin', 'xiaoqiang']
>>>
1.3、options(sections),讀取指定sections下所有options ,以列表形式返回。
>>>
>>> key = cf.options(section[1])
>>> key
['gradd', 'age', 'score', 'sex', 'registered']
>>>
1.4、items(sections),讀取指定section下所有的鍵值對(duì),返回列表,列表里面是鍵值對(duì)元祖。
>>>
>>> item = cf.items(section[1])
>>> item
[('gradd', '2'), ('age', '7'), ('score', '89.5'), ('sex', 'female'), ('registered', 'false')]
>>>
1.5、get(section, option),讀取section中option的值,返回為string類(lèi)型。
>>>
>>> sex = cf.get(section[1], key[3])
>>> sex
'female'
>>>
1.6、getint(section,option),讀取section中option的值,返回int類(lèi)型。
>>>
>>> age = cf.getint(section[1], key[1])
>>> age
7
>>>
>>> age = cf.get(section[1], key[1])
>>> age
'7'
>>>
1.7、getfloat(section,option),讀取section中option的值,返回float類(lèi)型。
>>>
>>> score = cf.get(section[1], key[2])
>>> score
'89.5'
>>>
>>> score = cf.getfloat(section[1], key[2])
>>> score
89.5
>>>
1.8、getboolean(section,option),讀取section中option的值,返回boolean類(lèi)型。
>>>
>>> registere = cf.get(section[1], key[4])
>>> registere
'false'
>>>
>>> registere = cf.getboolean(section[1], key[4])
>>> registere
False
>>>
二、寫(xiě)入文件:
2.1、add_section(section),添加section項(xiàng)。
2.2、set(section,option,value),給section項(xiàng)中新增寫(xiě)入鍵值對(duì),修改也是用它。
2.3、write(filename),將configparser對(duì)象寫(xiě)入ini文件。
>>>
>>> cf.add_section('xiaohong')
>>> cf.set('xiaohong', 'grade' , '4')
>>> cf.set('xiaohong', 'age' , '10')
>>> cf.set('xiaohong', 'score' , '87.7')
>>> cf.set('xiaohong', 'sex' , 'female')
>>> cf.set('xiaohong', 'registered' , 'true')
>>>
>>> with open(file, 'w+') as f:
cf.write(f)
>>>
三、修改文件
3.1、remove_section(section),刪除文件中指定的section(整個(gè)section相關(guān)內(nèi)容都全部刪除)。
3.2、remove_option(section,option),刪除文件中某個(gè)section下的option的數(shù)值。
3.3、set(section,option,value),修改section項(xiàng)中鍵值對(duì)。
3.4、最后記得寫(xiě)入文件write(filename)。
>>> cf.remove_section('xiaoming')
True
>>> cf.remove_option('liqin', 'age')
True
>>> with open(file, 'w+') as f:
cf.write(f)
>>> cf.set('xiaohong', 'score' , '100')
>>> with open(file, 'w+') as f:
cf.write(f)
>>>
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
