大家應該接觸過.ini格式的配置檔案。配置檔案就是把一些配置相關資訊提取出去來進行單獨管理,如果以後有變動只需改配置檔案,無需修改程式碼。特別是後續做自動化的測試,需要拎出一部分配置資訊,進行管理。比如說傳送郵件的郵箱配置資訊、資料庫連線等資訊。
今天介紹一些如何用Python讀取ini配置檔案。
一、ini檔案格式
- 格式如下:
; comments
[section1]
Param1 = value1
Param2= value2
[section2]
Param3= value3
Param4= value4
-
[section]
:ini的section模組,是下面引數值的一個統稱,方便好記就行。 -
Param = value
:引數以及引數值。 - ini 檔案中,使用“;”進行註釋。
二、讀取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`))
執行結果:
D:Python_projectpython_learningconfig.ini
2號
[`section1`, `section2`, `section3`, `section_test_1`]
[`name`, `sex`, `option_plus`]
[(`name`, `2號`), (`sex`, `female`), (`option_plus`, `value`)]
三、修改並寫入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+`))
來句雞湯:相信未來會越走越好 那麼就肯定要堅持 我希望未來的我不會讓自己後悔
❤ thanks for watching, keep on updating…