模組之ConfigParser模組詳解

2022-07-30 07:42:10 字數 2183 閱讀 9528

在程式中使用配置檔案來靈活的配置一些引數是一件很常見的事情,配置檔案的解析並不複雜,在python裡更是如此,在官方發布的庫中就包含有做這件事情的庫,那就是configparser,這裡簡單的做一些介紹。

configparser解析的配置檔案的格式為.ini的配置檔案格式,就是檔案中由多個section構成,每個section下又有多個配置項。

配置檔案格式如下:

[host]  

host1 = 172.25.254.1:root:123host2 = 172.25.254.2:root:123host3 = 172.25.254.3:root:123[db]

db_port = 3306db_user =root

db_host = 127.0.0.1db_pass = westos

import configparser  #

匯入模組

config = configparser.configparser() #

例項化configparser物件

config.read('

test.ini

') #

讀取配置檔案

檢視節點

#

獲取sections

print

(config.sections())

#獲取某一sections下的所有的options

print(config.options('db'

))#獲取某一sections下的items

print(config.items('db'

))#獲取某一具體的value值

res = config.get('

db', '

db_host')

print(res, type(res))

檢查節點

#

檢查檔案中是否存在某個節點。如果存在,返回true;否則,返回false;

config.has_section("

db") #

true

config.has_section(

"port

") #

false

#檢查檔案中的某個節點是否存在某個key(eg:db_pass);如果存在,返回true;否則,返回false;

config.has_option("

db","

db_pass

") #

true

config.has_option("db

","db_passwd

") #

false

新增節點

#

新增指定的節點

config.add_section("

info")

#往節點裡面新增對應的key-value值;

config.set("

info

","username

","root")

config.set(

"info

","password

","westos")

#將新增的內容真正寫入檔案中;

config.write(open("

config.ini

","w

"))

刪除節點

#

刪除指定節點中的key值;如果成功刪除,返回true,否則,返回false;

config.remove_option("

info

","password

") #

true

config.remove_option("

info

","username

") #

true

#刪除指定的節點;

conf.remove_section("

info

") #

true

#將刪除的內容在檔案中真正刪除;

config.write(open("

config.ini

","w

"))

ConfigParser模組教程

configparser 模組用於操作配置檔案 注 parser漢譯為 解析 之意。配置檔案的格式與windows ini檔案類似,可以包含乙個或多個節 section 每個節可以有多個引數 鍵 值 book title configparser模組教程 time 2012 09 20 22 04 ...

ConfigParser模組教程

目錄 configparser 模組用於操作配置檔案 注 parser漢譯為 解析 之意。配置檔案的格式與windows ini檔案類似,可以包含乙個或多個節 section 每個節可以有多個引數 鍵 值 plain view plain copy book title configparser模組...

configparser模組總結

configparser模組使用來讀取寫入配置檔案的,其配置檔案的結構為 section1 key1 value1 key2 value2 section2 key1 value1 key2 value2其中 包圍的部分為section,是區分各個配置的標誌,下面的值是以key value的形式存在...