讀取配置文件(.ini或者.conf)


I.讀取配置文件

(1) 直接讀取文件內容 : -read(filename)

(2) 得到所有的section,並以列表的形式返回 : -sections()

(3) 得到該section的所有option : -options(section)

(4) 得到該section的所有鍵值對 : -items(section)

(5) 得到section中option的值,返回為string類型 : -get(section,option)

(6) 得到section中option的值,返回為int類型,還有相應的getboolean()和getfloat() 函數 : -getint(section,option)

參數說明:file_name[文件名],section[模塊名],option[屬性名])

II.寫入配置文件

(1) 將config對象寫入至某個 .init 格式的文件 : -write(fp)

(2) 添加一個新的section : -add_section(section)

(3) 對section中的option進行設置,需要調用write將內容寫入配置文件 : -set( section, option, value

(4) 刪除某個 section : -remove_section(section)

(5) 刪除某個 section 下的 option : -remove_option(section, option)

完整代碼如下:

import os
from configparser import ConfigParser
from com.contants import CONF_DIR # 配置文件目錄

conf_path = os.path.join(CONF_DIR, 'conf.ini') #  配置文件路徑

class MyConf(ConfigParser):

    def __init__(self):
        # 調用父類原來的__init__方法
        super().__init__()
        self.filename = conf_path # 配置文件路徑
        self.encoding = 'utf8'
        # # 創建一個文件解析對象,設置對象的conf
        # self.conf = ConfigParser()
        # # 使用解析器對象,加載配置文件中的內容
        self.read(self.filename, self.encoding) # 繼承ConfigParser方法,self本省就是一個對象
        """
        # 讀取配置數據調用的方法
         # get讀取出來字符串,getint讀取出來是數值,getfloat讀取浮點數,getboolean讀取布爾值:True,False
        """

    #
    # def get_data(self, section, option): # 可以直接調用父類的讀取配置的方法
    #     """
    #     讀取配置數據
    #     :param section: 配置塊
    #     :param option: 配置項
    #     :return: 配置項對應的數據
    #     """
    #     # get讀取出來字符串,getint讀取出來是數值,getfloat讀取浮點數,getboolean讀取布爾值:True,False
    #     return self.get(section,option)


    def write_data(self,section,option,value):
        """
        寫入數據
        :param section: 寫入配置塊
        :param option: 配置項
        :param value: 配置項對應的值
        :return: None
        """
        # 寫入內容
        self.set(section,option,value)
        # 保存到文件
        with open(self.filename,'w',encoding=self.encoding) as f:
            self.write(f)

# 創建一個對象
conf = MyConf()

if __name__ == '__main__':

    conf1 = conf.get('mysql','host')
    print(conf1)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM