欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python讀取ini配置的類封裝代碼實(shí)例

 更新時(shí)間:2020年01月08日 09:57:59   作者:小鋒學(xué)長(zhǎng)  
這篇文章主要介紹了python讀取ini配置的類封裝代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了python讀取ini配置的類封裝代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

此為基礎(chǔ)封裝,未考慮過(guò)多異常處理

# 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(">> 無(wú)此section,請(qǐng)核對(duì)[%s]" % section)
      return None
    return True

  # 讀取ini,并獲取所有的section名
  def readSectionItems(self, cfgpath):
    if not os.path.isfile(cfgpath):
      print(">> 無(wú)此文件,請(qǐng)核對(duì)路徑[%s]" % cfgpath)
      return None
    self.cfgpath = cfgpath
    self.conf.read(cfgpath, encoding="utf-8")
    return self.conf.sections()

  # 讀取一個(gè)section,list里面對(duì)象是元祖
  def readOneSection(self, section):
    try:
      item = self.conf.items(section)
    except Exception:
      print(">> 無(wú)此section,請(qǐng)核對(duì)[%s]" % section)
      return None
    return item

  # 讀取一個(gè)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

  # 刪除一個(gè) section中的一個(gè)item(以鍵值KEY為標(biāo)識(shí))
  def removeItem(self, section, key):
    if not self.checkSection(section):
      return
    self.conf.remove_option(section, key)

  # 刪除整個(gè)section這一項(xiàng)
  def removeSection(self, section):
    if not self.checkSection(section):
      return
    self.conf.remove_section(section)

  # 添加一個(gè)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方法并沒(méi)有真正的修改ini文件內(nèi)容,只有當(dāng)執(zhí)行conf.write()方法的時(shí)候,才會(huì)修改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)

測(cè)試ini

[chaoji]
chaoji_username = 123
chaoji_password = 456
[my]
soft_id     = 789
sleeptime     = asd
cnt_count     = zxc

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用Python創(chuàng)建多功能文件管理器的代碼示例

    使用Python創(chuàng)建多功能文件管理器的代碼示例

    在本文中,我們將探索一個(gè)使用Python的wxPython庫(kù)開(kāi)發(fā)的文件管理器應(yīng)用程序,這個(gè)應(yīng)用程序不僅能夠?yàn)g覽和選擇文件,還支持文件預(yù)覽、壓縮、圖片轉(zhuǎn)換以及生成PPT演示文稿的功能,需要的朋友可以參考下
    2024-08-08
  • Python簡(jiǎn)單獲取自身外網(wǎng)IP的方法

    Python簡(jiǎn)單獲取自身外網(wǎng)IP的方法

    這篇文章主要介紹了Python簡(jiǎn)單獲取自身外網(wǎng)IP的方法,涉及Python基于第三方平臺(tái)獲取本機(jī)外網(wǎng)IP的操作技巧,需要的朋友可以參考下
    2016-09-09
  • Python+Matplotlib實(shí)現(xiàn)給圖像添加文本標(biāo)簽與注釋

    Python+Matplotlib實(shí)現(xiàn)給圖像添加文本標(biāo)簽與注釋

    這篇文章主要為大家分享一下如何使用python+matplotlib給繪制的圖像添加文本標(biāo)簽與注釋。文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-04-04
  • python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime詳析

    python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime詳析

    這篇文章主要給大家介紹了關(guān)于python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 數(shù)據(jù)的工具,它可以通過(guò) JSONPath 語(yǔ)法來(lái)對(duì) JSON 數(shù)據(jù)進(jìn)行定位和提取,其用法類似于 XPath 語(yǔ)法對(duì) XML 數(shù)據(jù)進(jìn)行定位,這篇文章主要介紹了Python使用jsonpath_ng的方法,需要的朋友可以參考下
    2023-12-12
  • python實(shí)現(xiàn)的人臉識(shí)別打卡系統(tǒng)

    python實(shí)現(xiàn)的人臉識(shí)別打卡系統(tǒng)

    這篇文章主要介紹了python實(shí)現(xiàn)的人臉識(shí)別打卡系統(tǒng),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-05-05
  • django數(shù)據(jù)庫(kù)自動(dòng)重連的方法實(shí)例

    django數(shù)據(jù)庫(kù)自動(dòng)重連的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于django數(shù)據(jù)庫(kù)自動(dòng)重連的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python創(chuàng)建簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)實(shí)例講解

    Python創(chuàng)建簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于如何在Python中創(chuàng)建一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)的相關(guān)知識(shí)點(diǎn),有興趣的朋友們可以參考下。
    2021-01-01
  • python實(shí)現(xiàn)將字符串中的數(shù)字提取出來(lái)然后求和

    python實(shí)現(xiàn)將字符串中的數(shù)字提取出來(lái)然后求和

    這篇文章主要介紹了python實(shí)現(xiàn)將字符串中的數(shù)字提取出來(lái)然后求和,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 手把手教你安裝Windows版本的Tensorflow

    手把手教你安裝Windows版本的Tensorflow

    這篇文章主要介紹了手把手教你安裝Windows版本的Tensorflow,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論