日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python學習之讀取配置文件_python

作者:888米兔 ? 更新時間: 2022-06-24 編程語言

前言:

最近在接觸利用python來寫測試框架,本人也是個剛接觸python,所以是個小菜鳥,今天開始,一點點的記錄學習中的積累,方便以后的學習以及回顧,也希望能幫助跟我一樣的小菜鳥們一步步的成長起來。那么,下面就不廢話了,直接進入今天的主題。

配置文件作為一種可讀性很好的格式,非常適用于存儲程序中的配置數據。 在每個配置文件中,配置數據會被分組(比如“config”和 “cmd”)。 每個分組在其中指定對應的各個變量值。

如下:

#  定義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)?????????????? 直接讀取文件內容
  • -sections()????????????????????? 得到所有的section,并以列表的形式返回
  • -options(section)??????????? 得到該section的所有option
  • -items(section)??????????????? 得到該section的所有鍵值對
  • -get(section,option)??????? 得到section中option的值,返回為string類型
  • -getint(section,option)??? 得到section中option的值,返回為int類型,還有相應的getboolean()和getfloat() 函數。

在對配置文件進行讀寫操作前,我們需要先進行以下兩個操作:

1、實例化ConfigParser對象:

#  實例化configParser對象
cf = configparser.ConfigParser()

2、讀取配置文件

#  讀取config.ini文件
cf.read(config.ini)

然后進行配置文件的讀取操作。

以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對象寫入至某個 .init 格式的文件??Write?an?.ini-format?representation?of?the?configuration?state.
  • -add_section(section)???添加一個新的section
  • -set( section, option, value?? 對section中的option進行設置,需要調用write將內容寫入配置文件
  • -remove_section(section)??刪除某個 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)

其他方法可以自行嘗試。

配置文件中的名字是不區分大小寫的,如下兩個是等價的:

#  不區分大小寫,以下兩個等價,都獲取appActivity的值
self.cf.get("config", "appActivity")
self.cf.get("config", "APPACTIVITY")

在解析時,getboolean()方法查找任何可行的值,例如以下幾個都是等價的:

#  以下取得的值都是等價的為ture
[log]
log_error=true
log_error=TRUE
log_error=1
log_error=yes

原文鏈接:https://my.oschina.net/u/3041656/blog/793467

欄目分類
最近更新