溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python進(jìn)階,ConfigParser:Python中對(duì)于ini格式的配置文件的使用

發(fā)布時(shí)間:2020-07-11 10:19:13 來(lái)源:網(wǎng)絡(luò) 閱讀:2110 作者:Python雁橫 欄目:編程語(yǔ)言

ConfigParser:配置文件的讀取

原文鏈接和公眾號(hào)

文章鏈接:
http://note.youdao.com/noteshare?id=dfec323b2c6509d7189453ec730b3870&sub=7D7493D6D746490BA55C0997FF1BC465

更多文章教程:
Python雁橫(或者微信搜索:py_0123),如果需要一個(gè)學(xué)習(xí)交流的地方可以加我的QQ群:719139688

介紹:

  • 今天想寫(xiě)一篇文章來(lái)記錄一下在Python中ConfigParser這個(gè)模塊的使用方法
  • ini格式的配置文件無(wú)論是在Windows還是Linux這樣的操作系統(tǒng)中,都是十分常見(jiàn)的格式。常見(jiàn)的東西,python里面往往都有一個(gè)支持它的東西

ini配置文件簡(jiǎn)介

  • 后綴不一定是ini,像ini,cfgconf,txt都可以,本質(zhì)上就是text文本文件
  • ini配置文件內(nèi)容由,節(jié),鍵(或者稱為選項(xiàng)),值三部分構(gòu)成。
    • [section_1]
    • option_1 = value_1
    • option_2 = value_2
    • [section_2]
    • ...
  • 另外有一個(gè)特殊的節(jié)(section),就是默認(rèn)節(jié)(DEFAULT),可以省略,另外記住,大小寫(xiě)的敏感的。
  • 注釋?zhuān)?code>;后面的文字,直到結(jié)尾都是注釋
  • ini文件示例:
    ;這是一段注釋
    [DEFAULT]
    option_1 = 1
    [section_1]
    option_2 = 2

ConfigParser模塊簡(jiǎn)介

導(dǎo)入
from configparser import ConfigParser

#實(shí)例化一個(gè)對(duì)象
config = ConfigParser()
這個(gè)實(shí)例的方法
config.sections()  
#返回所有節(jié)點(diǎn)名稱(一個(gè)列表的形式),但是不包括DEFAULT
config.has_section(section)  
#查詢section(節(jié)點(diǎn))是否存在
config.options(section)  
#返回指定節(jié)點(diǎn)(section)里面的所有選項(xiàng)(鍵)
config.read(filenames,encoding=None)  
#閱讀并解析,filenames為一個(gè)包含文件名的列表,單個(gè)文件也被允許,不存在的文件被忽略,最后返回一個(gè)成功讀取的文件列表
config.read_file(fn,source=None)  
#解析一個(gè)文件對(duì)象(通俗的講就是你打開(kāi)一個(gè)文件之后,這就是一個(gè)文件對(duì)象)
config.read_string(string)  
#先將字符串轉(zhuǎn)變問(wèn)文件對(duì)象,然后執(zhí)行上面那個(gè)方法
config.dict(dictionary)  
#解析字典,字典里面必須嵌套一個(gè)字典,如:
#{"section":{"option":"value"}}
config.get(section,option)  
#獲取具體的值
#這個(gè)后面的參數(shù)有點(diǎn)多,先不用管,只需要知道兩個(gè)參數(shù)即可
config.getint(section,option)  
#與get相同,只是將值轉(zhuǎn)變?yōu)閕nt類(lèi)型
config.getfloat(section,option)  
#與get相同,只是將值轉(zhuǎn)變?yōu)閒loat類(lèi)型
config.getboolean(section,option)  
#與get相同,只是將值轉(zhuǎn)變?yōu)閎ool類(lèi)型
#0,false,no,off 都會(huì)轉(zhuǎn)變?yōu)?False
#1,true,yes,on 都會(huì)轉(zhuǎn)變?yōu)?True
#而且不分大小寫(xiě)
config.items(section=_UNSET,raw=False,vars=None)  
#給出了section,則返回一個(gè)列表,里面的值是由option,value組成的元祖
#否則,返回一個(gè)ItemsView對(duì)象(是一個(gè)字典)(估計(jì)還有生成器),組成為section(字符串)為字典的鍵,節(jié)點(diǎn)對(duì)象為字典的值。
#還可以對(duì)值進(jìn)行g(shù)et操作
config.remove_section(section)  
#刪除給出的節(jié)點(diǎn)和所有選項(xiàng)
config.remove_option(section,option)  
#刪除某個(gè)選項(xiàng)
config.set(section,option,value)  
#設(shè)置給定選項(xiàng)
#必須在已有節(jié)點(diǎn)設(shè)置
#可以設(shè)置默認(rèn)節(jié)點(diǎn)
config.write(fn,space_around_delimiters=True)  
#fn為一個(gè)文件對(duì)象(open...),space_around_delimiters這個(gè)參數(shù)為T(mén)rue則等號(hào)兩邊有空格
defaults()
#是一個(gè)有序字典(有字典中絕大部分操作)
#鍵是option,值是value
OrderdDict([("option_1","value"),(...,...)])
add_section(section)
#增加節(jié)
#不可以添加DEFAULT和已存在的節(jié),會(huì)報(bào)錯(cuò)
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI