python讀取ini配置的類封裝代碼實例
更新時間:2020年01月08日 09:57:59 作者:小鋒學長
這篇文章主要介紹了python讀取ini配置的類封裝代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
這篇文章主要介紹了python讀取ini配置的類封裝代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
此為基礎(chǔ)封裝,未考慮過多異常處理
類
# coding:utf-8 import configparser import os class IniCfg(): def __init__(self): self.conf = configparser.ConfigParser() self.cfgpath = '' def checkSection(self, section): try: self.conf.items(section) except Exception: print(">> 無此section,請核對[%s]" % section) return None return True # 讀取ini,并獲取所有的section名 def readSectionItems(self, cfgpath): if not os.path.isfile(cfgpath): print(">> 無此文件,請核對路徑[%s]" % cfgpath) return None self.cfgpath = cfgpath self.conf.read(cfgpath, encoding="utf-8") return self.conf.sections() # 讀取一個section,list里面對象是元祖 def readOneSection(self, section): try: item = self.conf.items(section) except Exception: print(">> 無此section,請核對[%s]" % section) return None return item # 讀取一個section到字典中 def prettySecToDic(self, section): if not self.checkSection(section): return None res = {} for key, val in self.conf.items(section): res[key] = val return res # 讀取所有section到字典中 def prettySecsToDic(self): res_1 = {} res_2 = {} sections = self.conf.sections() for sec in sections: for key, val in self.conf.items(sec): res_2[key] = val res_1[sec] = res_2.copy() res_2.clear() return res_1 # 刪除一個 section中的一個item(以鍵值KEY為標識) def removeItem(self, section, key): if not self.checkSection(section): return self.conf.remove_option(section, key) # 刪除整個section這一項 def removeSection(self, section): if not self.checkSection(section): return self.conf.remove_section(section) # 添加一個section def addSection(self, section): self.conf.add_section(section) # 往section添加key和value def addItem(self, section, key, value): if not self.checkSection(section): return self.conf.set(section, key, value) # 執(zhí)行write寫入, remove和set方法并沒有真正的修改ini文件內(nèi)容,只有當執(zhí)行conf.write()方法的時候,才會修改ini文件內(nèi)容 def actionOperate(self, mode): if mode == 'r+': conf.write(open(self.cfgpath, "r+", encoding="utf-8")) # 修改模式 elif mode == 'w': conf.write(open(self.cfgpath, "w")) # 刪除原文件重新寫入 elif mode == 'a': conf.write(open(self.cfgpath, "a")) # 追加模式寫入 cfgpath = r'C:\Users\SXF\Desktop\config.ini' inicfg = IniCfg() sections = inicfg.readSectionItems(cfgpath) print(sections) content = inicfg.readOneSection('chaoji') print(content) dic = inicfg.prettySecToDic('chaoji') print(dic) dic = inicfg.prettySecsToDic() print(dic) inicfg.addSection('chaoji22') content = inicfg.readOneSection('chaoji') print(content)
測試ini
[chaoji] chaoji_username = 123 chaoji_password = 456 [my] soft_id = 789 sleeptime = asd cnt_count = zxc
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python創(chuàng)建多功能文件管理器的代碼示例
在本文中,我們將探索一個使用Python的wxPython庫開發(fā)的文件管理器應用程序,這個應用程序不僅能夠瀏覽和選擇文件,還支持文件預覽、壓縮、圖片轉(zhuǎn)換以及生成PPT演示文稿的功能,需要的朋友可以參考下2024-08-08Python+Matplotlib實現(xiàn)給圖像添加文本標簽與注釋
這篇文章主要為大家分享一下如何使用python+matplotlib給繪制的圖像添加文本標簽與注釋。文中的示例代碼講解詳細,感興趣的可以了解一下2022-04-04python中時間轉(zhuǎn)換datetime和pd.to_datetime詳析
這篇文章主要給大家介紹了關(guān)于python中時間轉(zhuǎn)換datetime和pd.to_datetime的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08Python創(chuàng)建簡單的神經(jīng)網(wǎng)絡實例講解
在本篇文章里小編給大家整理的是一篇關(guān)于如何在Python中創(chuàng)建一個簡單的神經(jīng)網(wǎng)絡的相關(guān)知識點,有興趣的朋友們可以參考下。2021-01-01python實現(xiàn)將字符串中的數(shù)字提取出來然后求和
這篇文章主要介紹了python實現(xiàn)將字符串中的數(shù)字提取出來然后求和,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04