python學(xué)習(xí)之讀取配置文件
前言:
最近在接觸利用python來寫測試框架,本人也是個(gè)剛接觸python,所以是個(gè)小菜鳥,今天開始,一點(diǎn)點(diǎn)的記錄學(xué)習(xí)中的積累,方便以后的學(xué)習(xí)以及回顧,也希望能幫助跟我一樣的小菜鳥們一步步的成長起來。那么,下面就不廢話了,直接進(jìn)入今天的主題。
配置文件作為一種可讀性很好的格式,非常適用于存儲程序中的配置數(shù)據(jù)。 在每個(gè)配置文件中,配置數(shù)據(jù)會被分組(比如“config”和 “cmd”)。 每個(gè)分組在其中指定對應(yīng)的各個(gè)變量值。
如下:
# 定義config分組 [config] platformName=Android appPackage=com.romwe appActivity=com.romwe.SplashActivity # 定義cmd分組 [cmd] viewPhone=adb devices startServer=adb start-server stopServer=adb kill-server # 定義log分組 [log] log_error=true
基本的讀取操作:
- -read(filename) 直接讀取文件內(nèi)容
- -sections() 得到所有的section,并以列表的形式返回
- -options(section) 得到該section的所有option
- -items(section) 得到該section的所有鍵值對
- -get(section,option) 得到section中option的值,返回為string類型
- -getint(section,option) 得到section中option的值,返回為int類型,還有相應(yīng)的getboolean()和getfloat() 函數(shù)。
在對配置文件進(jìn)行讀寫操作前,我們需要先進(jìn)行以下兩個(gè)操作:
1、實(shí)例化ConfigParser對象:
# 實(shí)例化configParser對象 cf = configparser.ConfigParser()
2、讀取配置文件
# 讀取config.ini文件 cf.read(config.ini)
然后進(jìn)行配置文件的讀取操作。
以get為例,示例代碼如下:
# 定義方法,獲取config分組下指定name的值 def getConfigValue(self, name): value = self.cf.get("config", name) return value # 定義方法,獲取cmd分組下指定name的值 def getCmdValue(self, name): value = self.cf.get("cmd", name) return value
通過get
(section, option)方法,可以獲取指定分組下指定名稱的值,其他方法類似,可參照著嘗試。
基本的寫入操作:
- -write(fp) 將config對象寫入至某個(gè) .init 格式的文件 Write an .ini-format representation of the configuration state.
- -add_section(section) 添加一個(gè)新的section
- -set( section, option, value 對section中的option進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫入配置文件
- -remove_section(section) 刪除某個(gè) section
- -remove_option(section, option)
以set(section, option, value)為例,示例代碼如下:
# 定義方法,修改config分組下指定name的值value def setConfigValue(self, name, value): cfg = self.cf.set("config", name, value) fp = open(r'config.ini', 'w') cfg.write(fp)
其他方法可以自行嘗試。
配置文件中的名字是不區(qū)分大小寫的,如下兩個(gè)是等價(jià)的:
# 不區(qū)分大小寫,以下兩個(gè)等價(jià),都獲取appActivity的值 self.cf.get("config", "appActivity") self.cf.get("config", "APPACTIVITY")
在解析時(shí),getboolean()方法查找任何可行的值,例如以下幾個(gè)都是等價(jià)的:
# 以下取得的值都是等價(jià)的為ture [log] log_error=true log_error=TRUE log_error=1 log_error=yes
到此這篇關(guān)于python學(xué)習(xí)之讀取配置文件的文章就介紹到這了,更多相關(guān)python讀取配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法
這篇文章主要介紹了Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08關(guān)于python下cv.waitKey無響應(yīng)的原因及解決方法
今天小編就為大家分享一篇關(guān)于python下cv.waitKey無響應(yīng)的原因及解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Pyqt5 實(shí)現(xiàn)窗口縮放,控件在窗口內(nèi)自動伸縮的操作
這篇文章主要介紹了Pyqt5 實(shí)現(xiàn)窗口縮放,控件在窗口內(nèi)自動伸縮的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03推薦值得學(xué)習(xí)的12款python-web開發(fā)框架
這篇文章主要介紹了值得學(xué)習(xí)的12款python-web開發(fā)框架,幫助大家更好的理解和學(xué)習(xí)Python web開發(fā),感興趣的朋友可以了解下2020-08-08圖文詳解感知機(jī)算法原理及Python實(shí)現(xiàn)
感知機(jī)是二類分類的線性分類模型,其輸入為實(shí)例的特征向量,輸出為實(shí)例的類別(取+1和-1二值)。本文將為大家詳細(xì)講講感知機(jī)算法的原理及實(shí)現(xiàn),需要的可以參考一下2022-08-08在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程
這篇文章主要介紹了在Python下利用OpenCV來旋轉(zhuǎn)圖像的教程,代碼和核心的算法都非常簡單,需要的朋友可以參考下2015-04-04