第四十二節,configparser特定格式的ini配置文件模塊

configparser用於處理特定格式的文件,其本質上是利用open來操做文件。python

特定格式的ini配置文件模塊,用於處理ini配置文件,注意:這個ini配置文件,只是ini文件名稱的文本文件,不是後綴爲.ini的文件,也就是ini文件,不是ini.ini文件函數

ini配置文件格式編碼

每一個標籤稱之爲節點spa

# 註釋1
;  註釋2
 
[section1] # 節點
k1 = v1    # 第一種鍵值對
k2:v2       # 第二種鍵值對
 
[section2] # 第一種鍵值對
k1 = v1    # 第二種鍵值對

 

ConfigParser()模塊函數code

功能:建立ConfigParser對象,對象用來操做文件【無參】對象

使用方法:模塊名稱.ConfigParser()
blog

格式如:config = configparser.ConfigParser()utf-8

read()模塊函數rem

功能:打開文件【有參】字符串

使用方法:對象變量.read("文件路徑文件名稱",encoding='字符編碼')

格式如:config.read("ini", encoding='utf-8')

sections()模塊函數

功能:獲取對象裏的全部節點名稱,以列表形式返回,列表裏的元素就是節點名稱【有參】

使用方法:對象變量.sections()

格式如:ret = config.sections()

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
ret = config.sections() #獲取對象裏的節點名稱,以列表形式返回,列表裏的元素就是節點名稱
print(ret)
# 輸出
# ['section1', 'section2']

 

items()模塊函數

功能:獲取指定節點下全部的鍵值對,返回的一個列表,列表裏的元素是元祖,每一個元祖的元素是鍵值對【有參】

使用方法:對象變量.items("要獲取的節點名稱")

格式如:ret = config.items("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
ret = config.items("section2") #獲取指定節點下全部的鍵值對,返回的一個列表,列表裏的元素是元祖,每一個元祖的元素是鍵值對
print(ret)
# 輸出
# [('k1', 'v1'), ('k2', 'v2')]

 

options()模塊函數

功能:獲取指定節點下全部的建,返回列表,列表裏的元素是指定節點下全部的建【有參】

使用方法:對象變量.options("要獲取的節點名稱")

格式如:ret = config.options("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
ret = config.options("section2") #獲取指定節點下全部的建,返回列表,列表裏的元素是指定節點下全部的建
print(ret)
# 輸出
# ['k1', 'k2']

 

get()模塊函數

功能:獲取指定節點下指定key的值,返回對應字符串【有參】

使用方法:對象變量.get("要獲取的節點名稱","要獲取的key鍵名稱")

格式如:ret = config.get("section2","k2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
ret = config.get("section2","k2") #獲取指定節點下指定key的值,返回對應字符串
print(ret)
# 輸出
# v2

 

has_section()模塊函數

功能:檢查指定的節點是否存在,存在返回True,不存在返回False【有參】

使用方法:對象變量.has_section("要檢查的節點名稱")

格式如:ret = config.has_section("section2")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
ret = config.has_section("section2") #檢查指定的節點是否存在,存在返回True,不存在返回False
print(ret)
# 輸出
# True

 

add_section()模塊函數

功能:在文件裏追加節點【有參】

使用方法:對象變量.add_section("要追加的節點名稱")

格式如:config.add_section("section5")

write()模塊函數

功能:文件對象改變後將對象從新寫入文件【有參】參數是打開要寫入的文件

注意:對文件的,增,刪,改,操做後都要用write()寫入一下文件保存

使用方法:對象變量.write(open("文件路徑或名稱","文件打開方式",encoding='字符編碼'))

格式如:config.write(open("ini","w",encoding='utf-8'))

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
config.add_section("section5") #在文件裏追加節點
config.write(open("ini","w",encoding='utf-8')) #文件對象改變後將對象從新寫入文件

 

remove_section()模塊函數

功能:刪除指定的節點【有參】

使用方法:對象變量.remove_section("要刪除的節點名稱")

格式如:config.remove_section("section3")

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
config.remove_section("section3") #刪除指定的節點
config.write(open("ini","w",encoding='utf-8')) #文件對象改變後將對象從新寫入文件

 

has_option()模塊函數 

功能:檢查指定節點下面的指定鍵是否存在,存在返回True,不存在返回False【有參】

使用方法:對象變量.has_option("要檢查節點名稱","鍵名稱")

格式如:sf = config.has_option("section2","k2")

# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
sf = config.has_option("section2","k2") #檢查指定節點下面的指定鍵是否存在,存在返回True,不存在返回False
print(sf)
# 輸出
# True

 

remove_option()模塊函數

功能:刪除指定節點下的指定鍵值對

使用方法:對象變量.remove_option("指定節點名稱","節點下要刪除的鍵名稱")

格式如:config.remove_option("section2","k1")

# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
config.remove_option("section2","k1") #刪除指定節點下的鍵值對
config.write(open("ini","w",encoding='utf-8')) #文件對象改變後將對象從新寫入文件

 

set()模塊函數

功能:設置指定節點下的指定鍵值對

使用方法:對象變量.set("指定節點","鍵名稱","值")

格式如:config.set("section2","k1","v1")

說明

根據鍵來判斷若是鍵不存則建立定義的鍵值對

若是存在則更改爲定義的值

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
config = configparser.ConfigParser() #建立ConfigParser對象
config.read("ini", encoding='utf-8') #以utf-8的編碼打開ini文件
config.set("section2","k1","v1") #設置指定節點下的指定鍵值對
config.write(open("ini","w",encoding='utf-8')) #文件對象改變後將對象從新寫入文件

 

建立一個配置文件

#!/usr/bin/env python
# -*- coding:utf8 -*-
import configparser #導入configparser模塊
wjian = open("des","a",encoding='utf-8') #以a模式建立打開des文件
wjian.close() #關閉打開的文件
"""上面的open只用於建立des文件"""

config = configparser.ConfigParser() #建立ConfigParser對象
config.read("des", encoding='utf-8') #以utf-8的編碼打開des文件
config.add_section("section1")  #追加指定節點
config.set("section1","k1","v1") #指定節點下設置鍵值對
config.set("section1","k2","v2") #指定節點下設置鍵值對
config.set("section1","k3","v3") #指定節點下設置鍵值對

config.add_section("section2") #追加指定節點
config.set("section2","a1","s1") #指定節點下設置鍵值對
config.set("section2","a2","s2") #指定節點下設置鍵值對
config.set("section2","a3","s3") #指定節點下設置鍵值對

config.add_section("section3") #追加指定節點
config.set("section3","f1","k1") #指定節點下設置鍵值對
config.set("section3","f2","k2") #指定節點下設置鍵值對
config.set("section3","f3","k3") #指定節點下設置鍵值對

config.write(open("des","w",encoding='utf-8'))  #將改變後的對象寫入des文件

 

重點總結:注意:對文件的,增,刪,改,操做後都要用write()寫入一下文件保存

相關文章
相關標籤/搜索