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()寫入一下文件保存