python接口自動化第八篇--config 配置文件封裝


import os


from TeacherWebsite.setting.constant import p_path
from configparser import ConfigParser, NoSectionError, NoOptionError



class ConfigHandler:
    def __init__(self,filename,encoding='utf-8'):
        self.filename = filename
        self.encoding = encoding
        self.config = ConfigParser()
        a = self.config.read(filename,encoding=encoding)

    def read(self,section,option):
        try:
            return self.config.get(section,option)
        except NoSectionError:
            print('沒有這個section')
        except NoOptionError:
            print('沒有這個option')
    def get_list(self,section,option):
        option_str = self.read(section,option)
        #list轉化
        if isinstance(eval(option_str),list):
            return eval(option_str)
        return None


config = ConfigHandler(os.path.join(p_path.CONFIG_PATH,'config.ini'))
#因爲在test—case包裏每個文件都要使用ConfigHandler,所以直接在這個文件下邊初始化一個config,直接去調用,就不用重複的初始化初始化了

p_path 文件是引入這個包下邊的文件

代碼如下:

#建立常量,可以吧所有可能會發生變動的常量
import os



class ProjectPath():
    #ROOT_PATH = os.path.dirname(os.path.abspath(__file__))#ROOT_PATH獲取的文件夾是setting
    ROOT_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#這次獲取的是項目名稱TeacherWebsite
    DATA_PATH = os.path.join(ROOT_PATH,'data')#獲取data包的數據路徑
    CONFIG_PATH = os.path.join(ROOT_PATH,'setting')#獲取config,ini的路徑,該路徑在config_handler實例化下邊引用到
    CASE_PATH = os.path.join(ROOT_PATH, 'test_case')# 測試用例方法路徑
    REPORT_PATH = os.path.join(ROOT_PATH, 'report')# 測試報告路徑

    # 如果沒有改文件夾,自動創建
    if not os.path.exists(REPORT_PATH):
        os.mkdir(REPORT_PATH)



p_path = ProjectPath()#實例化方便引用

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章