python:利用configparser模塊讀寫配置文件


在自動化測試過程中,為了提高腳本的可讀性和降低維護成本,將一些通用信息寫入配置文件,將重復使用的方法寫成公共模塊進行封裝,使用時候直接調用即可。

這篇博客,介紹下python中利用configparser模塊讀寫配置文件的方法,僅供參考。。。

 

一、讀取文件

configparser模塊支持讀取.conf和.ini等類型的文件,那么首先在文件夾新建一個.ini文件,寫入一些信息,如下圖:

示例代碼如下:

 1 # coding=utf-8
 2 import configparser  3 import os  4 
 5 os.chdir("E:\\Automation\\UI\\testcase")  6 cf = configparser.ConfigParser()  7 
 8 # read(filename) 讀文件內容
 9 filename = cf.read("test.ini") 10 print(filename) 11 
12 # sections() 得到所有的section,以列表形式返回
13 sec = cf.sections() 14 print(sec) 15 
16 # options(section) 得到section下的所有option
17 opt = cf.options("mysql") 18 print(opt) 19 
20 # items 得到section的所有鍵值對
21 value = cf.items("driver") 22 print(value) 23 
24 # get(section,option) 得到section中的option值,返回string/int類型的結果
25 mysql_host = cf.get("mysql","host") 26 mysql_password = cf.getint("mysql","password") 27 print(mysql_host,mysql_password)

執行腳本,結果如下所示:

1 ['test.ini'] 2 ['driver', 'mysql'] 3 ['host', 'port', 'username', 'password'] 4 [('path', 'E:\\Automation\\UI\\testcase\\browser\\chromedriver.exe'), ('url', 'https://www.baidu.com/')] 5 127.0.0.1 123456

腳本解析:

cf.read(filename):讀取文件內容

cf.sections():得到所有的section,並且以列表形式返回

cf.options(section):得到section下所有的option

cf.items(option):得到該section所有的鍵值對

cf.get(section,option):得到section中option的值,返回string類型的結果

cf.getint(section,option):得到section中option的值,返回int類型的結果

 

二、寫入文件

如果需要在配置文件寫入內容,需要os函數幫忙,示例代碼如下:

 1 # coding=utf-8
 2 import configparser  3 import os  4 
 5 os.chdir("E:\\Automation\\UI\\testcase")  6 cf = configparser.ConfigParser()  7 
 8 # 往配置文件寫入內容
 9 
10 # add section 添加section項
11 # set(section,option,value) 給section項中寫入鍵值對
12 cf.add_section("mq") 13 cf.set("mq", "user", "laozhang") 14 cf.add_section("kafka") 15 cf.set("kafka", "user", "xiaozhang") 16  
17 # write to file
18 with open("test1.ini","w+") as f: 19     cf.write(f)

執行腳本,結果如下所示:

腳本解析:

cf.write(filename):將configparser對象寫入.ini類型的文件

add_section():添加一個新的section

add_set(section,option,value):對section中的option信息進行寫入

 

三、修改文件

還可以利用os函數對文件進行修改,示例代碼如下:

 1 # coding=utf-8
 2 import configparser  3 import os  4 
 5 os.chdir("E:\\Automation\\UI\\testcase")  6 cf = configparser.ConfigParser()  7 
 8 # 修改配置文件的內容
 9 
10 # remove_section(section) 刪除某個section的數值
11 # remove_option(section,option) 刪除某個section下的option的數值
12 cf.read("test1.ini")
13 cf.remove_option("kafka","user") 14 cf.remove_section("mq") 15 16 # write to file 17 with open("test1.ini","w+") as f: 18 cf.write(f)

執行腳本,結果如下所示:

腳本解析:

cf.read(filename):讀取文件(這里需要注意的是:一定要先讀取文件,再進行修改)

cf.remove_section(section):刪除文件中的某個section的數值

cf.remove_option(section,option):刪除文件中某個section下的option的數值

 

如上所示,就是configparser模塊讀寫配置文件的方法,代碼僅為參考,具體使用請自行實踐。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM