Python ini配置文件读取

写在前面的话
  写文档其实比敲代码要累,需要组织文章结构,需要想清楚说什么,怎么去表达,这是我最不擅长的事情,但还是想要做这件事情,不擅长的事情才更有挑战,才更想尝试去做,看看自己能做到什么程度。今天是个小任务,顺便写个文档练练手。
任务内容:封装一个通用的ini文件操作类
测试环境:win7+Python3

1.什么是ini

INI是英文“初始化”(initialization)的缩写,被用来对操作系统或特定程序初始化或进行参数设置。以节(section)和键(key)构成。

ini文件格式
节(section) 用方括号括起来,单独占一行
键(key)用等号连接键名和键值,单独占一行
注释(comment)使用英文分号(;)开头,单独占一行。在分号后面的文字,直到该行结尾都为注释
eg:

[mysql]  
;host
host=127.0.0.1  
;port
port=3306  

2.需求梳理

  拿到任务先梳理一下需求,对INI文件应用场景,一般都是用于做初始化配置文件用的。想了想平时对配置文件的使用,基本都是相同内容会放置同一section内,然后多个内容设置多个section,用的时候会使用同一section下的配置,so,需要完成的需求为:读取某一section下的全部数据。(后期使用如果还需要其他功能再添加方法)

3.类的设计

根据2中需求进行类设计:


tips:

  • 使用Python标准模块ConfigParser提供的ConfigParser类操作;
  • 注意异常情况的捕获

4.测试一下

4.1 创建readini.ini文件,添加内容如下:
[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"))

运行结果:


4.3 使用异常用例试试

文件不存在(以下均以4.2中代码为对比修改)

 path  = "readini1.ini" 

运行结果


section不存在

print(conf.get_conf_data("addsection3"))

运行结果:


4.结束语

  一个简单的小任务就完成啦,又学习到一些Markdown的语法,感觉对Markdown支持的还不是很好啊。

你可能感兴趣的:(Python ini配置文件读取)