寫在前面的話
??寫文檔其實比敲代碼要累,需要組織文章結(jié)構(gòu),需要想清楚說什么,怎么去表達,這是我最不擅長的事情,但還是想要做這件事情,不擅長的事情才更有挑戰(zhàn),才更想嘗試去做,看看自己能做到什么程度。今天是個小任務(wù),順便寫個文檔練練手。
任務(wù)內(nèi)容:封裝一個通用的ini文件操作類
測試環(huán)境:win7+Python3
1.什么是ini
INI是英文“初始化”(initialization)的縮寫,被用來對操作系統(tǒng)或特定程序初始化或進行參數(shù)設(shè)置。以節(jié)(section)和鍵(key)構(gòu)成。
ini文件格式
節(jié)(section) 用方括號括起來,單獨占一行
鍵(key)用等號連接鍵名和鍵值,單獨占一行
注釋(comment)使用英文分號(;)開頭,單獨占一行。在分號后面的文字,直到該行結(jié)尾都為注釋
eg:
[mysql]
;host
host=127.0.0.1
;port
port=3306
2.需求梳理
??拿到任務(wù)先梳理一下需求,對INI文件應(yīng)用場景,一般都是用于做初始化配置文件用的。想了想平時對配置文件的使用,基本都是相同內(nèi)容會放置同一section內(nèi),然后多個內(nèi)容設(shè)置多個section,用的時候會使用同一section下的配置,so,需要完成的需求為:讀取某一section下的全部數(shù)據(jù)。(后期使用如果還需要其他功能再添加方法)
3.類的設(shè)計
根據(jù)2中需求進行類設(shè)計:

tips:
- 使用Python標(biāo)準(zhǔn)模塊ConfigParser提供的ConfigParser類操作;
- 注意異常情況的捕獲
4.測試一下
4.1 創(chuàng)建readini.ini文件,添加內(nèi)容如下:
[addsection]
option1 = value1
option2 = value2
[addsection1]
option3 = value3
4.2 先用正確用例測試一下(get_conf_data為獲取的方法名)
path = "readini.ini"
conf = iniconf(path)
print(conf.get_conf_data("addsection"))
print(conf.get_conf_data("addsection1"))
運行結(jié)果:

4.3 使用異常用例試試
文件不存在(以下均以4.2中代碼為對比修改)
path = "readini1.ini"
運行結(jié)果

section不存在
print(conf.get_conf_data("addsection3"))
運行結(jié)果:

4.結(jié)束語
??一個簡單的小任務(wù)就完成啦,又學(xué)習(xí)到一些Markdown的語法,感覺簡書對Markdown支持的還不是很好啊。