1. 程式人生 > >【python介面自動化】- ConfigParser配置檔案的使用

【python介面自動化】- ConfigParser配置檔案的使用

> 前言:目前我們使用的絕大多數計算機程式,無論是辦公軟體,瀏覽器,甚至遊戲、視訊都是通過選單介面系統配置的,它幾乎成了我們使用機器的預設方式。而在python中,也有這樣的一個配置模組可以把程式碼可配置化。 # 什麼是配置檔案 ​ 這裡的配置檔案不同於我們平常所見的視覺化的選單介面,它是像程式碼形式的,如下示例: ​ ❓為什麼要做配置檔案? ​ ✔️讓程式碼和配置都變成可模組化可配置化,提高程式碼的重用性,那什麼時候把它變成可配置化呢?多處地方都用到一個引數時,經常會變化的引數等,都可以可配置化,我們只需要在配置檔案中進行修改即可,不需要在程式碼中一處處的重複修改。 ​ Python提供了一個ConfigParser模組,它實現了一種基本的配置檔案解析器語言,該語言提供的結構類似於.ini
檔案中的結構。常見的配置檔案格式有.ini.conf.cfg,配置檔案由兩個檔案物件組成:section和option,一個配置檔案裡可以包含一個或多個節(section),每個節可以有多個option(鍵=值),如上圖所標示。 # 讀取配置檔案 ​ 它與file檔案一樣,需要先開啟才能進行讀取操作,常用方法如下: + `read(filename)`:直接讀取配置檔案內容 + `sections()`:以列表的形式返回所有section + `options(section)`:得到對應section下的所有option + `items(section)`:得到對應section下的所有鍵值對 + `get(section,option)`:得到對應的section中的option的值,並以string的型別返回 + `getint(section,option)`:得到對應的section中的option的值,並以int的型別返回 ​ 以上圖中的conf.ini
為例進行讀取操作: ```python from configparser import ConfigParser # 建立一個操作配置檔案的物件(檔案解析物件) conf = ConfigParser() # 讀取配置檔案 conf.read("conf.ini", encoding="utf8") # 獲取所有section res2 = conf.sections() print("這是res2:{}\n".format(res2)) # 獲取對應section下的option res3 = conf.options("logging") print("這是res3:{}\n".format(res3)) # 獲取對應section下的所有鍵值對 res4 = conf.items("logging") print("這是res4:{}\n".format(res4)) # get方法:讀取出來的內容,都是字串 res5 = conf.get("logging", "level") print("這是res5:{}".format(res5), type(res5)) # getint方法:讀取出來的內容,都是int型別 res6 = conf.getint("mysql", "port") print("\n這是res6:{}".format(res6), type(res6)) ``` ​ 執行結果: ```shell C:\software\python\python.exe D:/learn/test.py 這是res2:['logging', 'mysql'] 這是res3:['level', 'f_level', 's_level'] 這是res4:[('level', 'DEBUG'), ('f_level', 'DEBUG'), ('s_level', 'ERROR')] 這是res5:DEBUG 這是res6:3306 Process finished with exit code 0 ``` ​ 除了可以讀取str、int型別以外,還支援float、boolean,這裡就不再舉例。 ​