【自動化測試】Python 讀取 .ini 格式文件


你們應該接觸過.ini格式的配置文件。配置文件就是把一些配置相關信息提取出去來進行單獨管理,若是之後有變更只需改配置文件,無需修改代碼。特別是後續作自動化的測試,須要拎出一部分配置信息,進行管理。好比說發送郵件的郵箱配置信息、數據庫鏈接等信息。python

今天介紹一些如何用Python讀取ini配置文件。數據庫

1、ini文件格式

  • 格式以下:
; comments
[section1]
Param1 = value1
Param2= value2
[section2]
Param3= value3
Param4= value4
  • [section]:ini的section模塊,是下面參數值的一個統稱,方便好記就行。
  • Param = value:參數以及參數值。
  • ini 文件中,使用「;」進行註釋。

2、讀取ini文件

Python自帶有讀取配置文件的模塊ConfigParser,配置文件不區分大小寫。
有一系列的方法可提供。函數

  • read(filename):讀取文件內容
  • sections():獲得全部的section,並以列表的形式返回。
  • options(section):獲得該section的全部option。
  • items(section):獲得該section的全部鍵值對。
  • get(section,option):獲得section中option的值,返回string類型。
  • getint(section,option):獲得section中option的值,返回int類型。

舉個栗子:測試

import os
import configparser

# 當前文件路徑
proDir = os.path.split(os.path.realpath(__file__))[0]
# 在當前文件路徑下查找.ini文件
configPath = os.path.join(proDir, "config.ini")
print(configPath)

conf = configparser.ConfigParser()

# 讀取.ini文件
conf.read(configPath)
# get()函數讀取section裏的參數值
name  = conf.get("section1","name")
print(name)
print(conf.sections())
print(conf.options('section1'))
print(conf.items('section1'))

運行結果:code

D:\Python_project\python_learning\config.ini
2號
['section1', 'section2', 'section3', 'section_test_1']
['name', 'sex', 'option_plus']
[('name', '2號'), ('sex', 'female'), ('option_plus', 'value')]

3、修改並寫入ini文件

  • write(fp):將config對象寫入至某個ini格式的文件中。
  • add_section(section):添加一個新的section。
  • set(section,option,value):對section中的option進行設置,須要調用write將內容寫入配置文件。
  • remove_section(section):刪除某個section。
  • remove_option(section,option):刪除某個section下的option

舉個栗子:接上部分對象

# 寫入配置文件 set()
# 修改指定的section的參數值
conf.set("section1",'name','3號')

# 增長指定section的option
conf.set("section1","option_plus","value")
name = conf.get("section1","name")
print(name)
conf.write(open(configPath,'w+'))

# 增長section
conf.add_section("section_test_1")
conf.set("section_test_1","name","test_1")
conf.write(open(configPath,'w+'))

來句雞湯:相信將來會越走越好 那麼就確定要堅持 我但願將來的我不會讓本身後悔rem


❤ thanks for watching, keep on updating...get

相關文章
相關標籤/搜索