ini文件一般用作配置文件,其格式一般如下:
[section name]
key1 = value1
key2 = vaule2
...
在python里面有一个叫做configparser的module,可以用来操作ini文件,从而方便进行配置文件的管理工作.
创建一个ini配置文件的伪代码如下:
#创建一个configparser对象实例:
config=configparser.ConfigParser()
#进行赋值操作:
config[section_name1]={key1:value1,key2:value2} #第一种赋值方法
config[section_name2]={}
config[section_name2][key2]=value2 #第二种赋值方法
config[section_name3]={}
section=config[section_name3]
section[key3]=value3 #这是第三种赋值方法.
#赋值完成以后,就可以调用 config 对象的write方法,从而生成对应的ini配置文件了:
with open("cfg.ini", "w") as fp_cfg:
config.write(fp_cfg)
上面伪代码生成的配置文件如下:
[section_name1]
key1 = value1
key2 = value2
[section_name2]
key2 = value2
[section_name3]
key3 = value3
读一个ini配置文件:
和写操作刚好相反,读的时候首先需要进行调用 configparser对象的read方法,然后才能对这个对象进行操作,因为默认创建的对象都是空的. 所以常用的方法如下:
#首先创建一个configparser对象:
cfgobj=configparser.ConfigParser()
#调用cfg object的read方法:
cfgobj.read("cfg.ini") #其中cfg.ini 就是ini配置文件的名称. 注意read 和write 方法需要引入的参数是不同的.
cfgobj.sections() # 读取ini配置文件中的所有section的名字.
print(cfgobj["section_name1"]["key1"]) #根据section以及key的名称读取对应的value的值
for k in cfgobj["section_name1"].keys(): #因为cfgobj["section_name1] 输出的类型是一个字典,所以可以用字典循环方式进行取值
print(k)
对ini配置文件中的section 以及option 存在性进行判断:
除了创建和读取一个ini配置文件,通常情况下,为了避免读取时候发生错误,也需要进行判断,有几个比较常用的两个方法可以帮助判断:
cfgobj.has_section("section_name")
cfgobj.has_option("section_name","option_name")
网友评论