Python接口自動化測試框架之configparser讀取配置操作類

封裝從入門到放棄

我們爲啥要封裝,我相信你們在項目開發過程中深有體會,那麼這個讀取配置工具類,又是爲了什麼?
  • 爲了項目參數配置的靈活性,不要改動到源碼
  • 爲了信息的安全(一定層面的),體現代碼重用性
封裝讀取配置文件的操作類
from configparser import ConfigParser

# 2.配置文件由哪幾部分構成?
# a、sectionso區域
# b、option選擇項:value值

class conf_read(object):
    '''封裝讀取confi/ini等配置文件的操作類'''
    
    def __init__(self,conf_name,encoding="utf-8):
        # 創建ConfigParser解析對象
        self.conf=ConfigParser()
        self.conf_name=conf_name
        self.encoding=encoding
        # 讀取指定配置文件
        self.conf.read(self.conf_name,encoding=self.encoding)
        # 讀取數據:查看區域
        self.sections=self.conf.sections()
        self.options=[]

	def get(self,section,option):
	    return self.conf.get(section,option)
	
	def get_int(self,section,option):
	    return self.conf.getint(section,option)

    def get_float(self,section,option):
	    return self.conf.getfloat(section,option)

    def get_bool(self,section,option):
	    return self.conf.getboolean(section,option)

優化上面封裝的讀取配置操作類
  • 看上面封裝的讀取配置操作類,每個方法都只是return簡單的一句話源碼,其實都只是繼承配置類中最原始的方法,所以不用再重複造輪子
from configparser import ConfigParser

class conf_read(ConfigParser):
    
    def __init__(self,conf_name,encoding="utf-8"):
        # 創建ConfigParser解析對象
        super().__init__()
        self.conf_name=conf_name
        self.encoding=encoding
        # 讀取指定配置文件
        self.read(self.conf_name,encoding=self.encoding)

    def write_data(self.conf_name)
        '''往配置文件中寫入數據'''
        self.set(section, option, value)
        self.write(open(self.file_name,"w",encoding=self.encoding))
        
  • 這樣看代碼,是不是比上一個版本簡潔多了,至於讀取配置文件的方法,使用繼承ConfigParser類的原始方法就好了:
conf=conf_read("common.conf",encoding="utf-8")
conf.get("section","option")
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章