最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

  # 讀取ini,并獲取所有的section名
  def readSectionItems(self, cfgpath):
    if not os.path.isfile(cfgpath):
      print(">> 無此文件,請(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(">> 無此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方法并沒有真正的修改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)

測試ini

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

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

相關(guān)文章

  • Python實(shí)現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    Python實(shí)現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重復(fù)的相關(guān)操作方法,需要的朋友可以參考下
    2017-11-11
  • Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法

    Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法

    這篇文章主要介紹了Pytorch中的variable, tensor與numpy相互轉(zhuǎn)化的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python中關(guān)于eval函數(shù)的使用及說明

    python中關(guān)于eval函數(shù)的使用及說明

    這篇文章主要介紹了python中關(guān)于eval函數(shù)的使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 如何讓Python在HTML中運(yùn)行

    如何讓Python在HTML中運(yùn)行

    這個(gè)名為PyScript的框架,其核心目標(biāo)是為開發(fā)者提供在標(biāo)準(zhǔn)HTML中嵌入Python代碼的能力,使用?Python調(diào)用JavaScript函數(shù)庫,并以此實(shí)現(xiàn)利用Python創(chuàng)建Web應(yīng)用的功能,本文給大家介紹Python?HTML運(yùn)行的案例解析,感興趣的朋友一起看看吧
    2022-05-05
  • yolov5返回坐標(biāo)的方法實(shí)例

    yolov5返回坐標(biāo)的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于yolov5返回坐標(biāo)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-03-03
  • 關(guān)于python常見異常以及處理方法

    關(guān)于python常見異常以及處理方法

    這篇文章主要介紹了關(guān)于python常見異常以及處理方法,python用異常對(duì)象(exception object)來表示異常情況。遇到錯(cuò)誤后,會(huì)引發(fā)異常,需要的朋友可以參考下
    2023-04-04
  • Python中模擬enum枚舉類型的5種方法分享

    Python中模擬enum枚舉類型的5種方法分享

    這篇文章主要介紹了Python中模擬enum枚舉類型的5種方法分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2014-11-11
  • python3 實(shí)現(xiàn)口罩抽簽的功能

    python3 實(shí)現(xiàn)口罩抽簽的功能

    這篇文章主要介紹了python3 實(shí)現(xiàn) 口罩抽簽的功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 神經(jīng)網(wǎng)絡(luò)算法RNN實(shí)現(xiàn)時(shí)間序列預(yù)測

    神經(jīng)網(wǎng)絡(luò)算法RNN實(shí)現(xiàn)時(shí)間序列預(yù)測

    這篇文章主要為大家介紹了神經(jīng)網(wǎng)絡(luò)算法RNN實(shí)現(xiàn)時(shí)間序列預(yù)測示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • python屬于解釋語言嗎

    python屬于解釋語言嗎

    在本篇文章里小編給大家分享了關(guān)于python關(guān)于是否為解釋語言的知識(shí)點(diǎn),有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06

最新評(píng)論

永泰县| 海林市| 理塘县| 南漳县| 南开区| 黄浦区| 乐平市| 禹城市| 自治县| 昂仁县| 兰州市| 西安市| 剑川县| 阿图什市| 长治市| 应用必备| 奈曼旗| 科尔| 云龙县| 邹城市| 金坛市| 盱眙县| 科技| 云林县| 温泉县| 龙门县| 绥宁县| 望城县| 芜湖县| 上犹县| 辽宁省| 德惠市| 贵州省| 富锦市| 红原县| 房山区| 东莞市| 水富县| 敦化市| 花垣县| 游戏|