摘要:大家應(yīng)該接觸過格式的配置文件。特別是后續(xù)做自動化的測試,需要拎出一部分配置信息,進(jìn)行管理。二讀取文件自帶有讀取配置文件的模塊,配置文件不區(qū)分大小寫。讀取文件內(nèi)容得到所有的,并以列表的形式返回。
大家應(yīng)該接觸過.ini格式的配置文件。配置文件就是把一些配置相關(guān)信息提取出去來進(jìn)行多帶帶管理,如果以后有變動只需改配置文件,無需修改代碼。特別是后續(xù)做自動化的測試,需要拎出一部分配置信息,進(jìn)行管理。比如說發(fā)送郵件的郵箱配置信息、數(shù)據(jù)庫連接等信息。
今天介紹一些如何用Python讀取ini配置文件。
一、ini文件格式格式如下:
; comments [section1] Param1 = value1 Param2= value2 [section2] Param3= value3 Param4= value4
[section]:ini的section模塊,是下面參數(shù)值的一個統(tǒng)稱,方便好記就行。
Param = value:參數(shù)以及參數(shù)值。
ini 文件中,使用“;”進(jìn)行注釋。
二、讀取ini文件Python自帶有讀取配置文件的模塊ConfigParser,配置文件不區(qū)分大小寫。
有一系列的方法可提供。
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類型。
舉個栗子:
import os import configparser # 當(dāng)前文件路徑 proDir = os.path.split(os.path.realpath(__file__))[0] # 在當(dāng)前文件路徑下查找.ini文件 configPath = os.path.join(proDir, "config.ini") print(configPath) conf = configparser.ConfigParser() # 讀取.ini文件 conf.read(configPath) # get()函數(shù)讀取section里的參數(shù)值 name = conf.get("section1","name") print(name) print(conf.sections()) print(conf.options("section1")) print(conf.items("section1"))
運行結(jié)果:
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進(jìn)行設(shè)置,需要調(diào)用write將內(nèi)容寫入配置文件。
remove_section(section):刪除某個section。
remove_option(section,option):刪除某個section下的option
舉個栗子:接上部分
# 寫入配置文件 set() # 修改指定的section的參數(shù)值 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...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42413.html
摘要:的提供了一種很方便的途徑發(fā)送電子郵件,它對協(xié)議進(jìn)行了簡單的封裝。其中負(fù)責(zé)構(gòu)造郵件,則負(fù)責(zé)發(fā)送郵件??赡苓€不止一個發(fā)送郵件的主題。 如何使用Python將生成的測試報告以郵件附件的形式進(jìn)行發(fā)送呢? 一、概要 SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。 python的...
Python Logging原來真的遠(yuǎn)比我想象的要復(fù)雜很多很多,學(xué)習(xí)路線堪比git。但是又繞不過去,alternatives又少,所以必須要予以重視,踏踏實實認(rèn)認(rèn)真真的來好好學(xué)學(xué)才行。 學(xué)習(xí)Logging的目的:簡單腳本還好,print足夠。但是稍微復(fù)雜點,哪怕是三四個文件加起來兩三百行代碼,調(diào)試也開始變復(fù)雜起來了。再加上如果是后臺長期運行的那種腳本,運行信息的調(diào)查更是復(fù)雜起來。一開始我還在各種查...
摘要:其中用到編程等,還需要花更多的精力去深入學(xué)習(xí),當(dāng)每項技能都能掌握到一定深度,才能稱為一個完整的知識體系。 都有哪些種類的配置文件 pytest.ini:pytes...
關(guān)于Python,相比大家都不會陌生吧,那么,其中的一些配置文件是什么呢?有沒有可能給大家去進(jìn)行做一個匯總,匯總的內(nèi)容還是比較的多的,包含寫法等一些相關(guān)的知識,具體的一些相關(guān)匯總,下面給大家詳細(xì)解答下?! ∏把浴 ≡谶@篇文章里所提到的環(huán)境變量種類其多元性由上至下到另一個先后提升:ini為何要寫環(huán)境變量 在研發(fā)流程中,很多人都會使用一些固定不動主要參數(shù)或者整型變量。對于這類相對固定不動且經(jīng)常使...
摘要:由于這種需求非常普遍,配置解析器提供了一系列更簡便的方法來處理整數(shù)浮點數(shù)及布爾值。注意點方法對大小寫不敏感,能識別和為對應(yīng)的布爾值后備值和字典一樣,可以使用的方法提供后備值需要注意的是,默認(rèn)值的優(yōu)先級高于后備值。 快速開始 # demo.ini [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel ...
閱讀 1794·2023-04-25 22:42
閱讀 2218·2021-09-22 15:16
閱讀 3495·2021-08-30 09:44
閱讀 493·2019-08-29 16:44
閱讀 3316·2019-08-29 16:20
閱讀 2521·2019-08-29 16:12
閱讀 3395·2019-08-29 16:07
閱讀 673·2019-08-29 15:08