python-ini文件使用(读和写)
注意事项:
1.读文件:
read(filename):读取ini文件中的内容
sections():得到所有section,返回列表形式
options(section):得到给定section的所有option
items(section):得到指定section的所有key-value
get(section,option):得到section中的option值,返回str类型
get(section,option):得到section中的option值,返回int类型
2.写文件:
add_section(sectionname):添加一个名为sectionname的新section
set(sectionname,option,value):设置sectionname的option和value的值
注意:最后要使用write把内容写入ini文件:write(open(filenama,'wb'))
直接贴出代码来:
#coding=utf-8
'''
Created on 2015.10.30
ini配置文件读写的使用
'''
import ConfigParser
iniFileUrl="conf.ini"
conf=ConfigParser.ConfigParser() #生成conf对象
conf.read(iniFileUrl) #读取ini配置文件
def readConfigFile():
"""
sections:配置文件中[]中的值
options:每组中的键
items:键-值的列表形式
"""
# 获取每组类型中的section值
sections = conf.sections() # 获取所有sections
print "---conf.ini文件中的section内容有:", sections
# 获取每行数据的键即指定section的所有option
print "---group_a的所有键为:", conf.options("group_a")
print "---group_b的所有键为:", conf.options("group_b")
# 获取指定section的所有键值对
print "---group_a的所有键-值为:", conf.items("group_a")
# 指定section,option读取具体值
print "---group_a组的a_key1值为:", conf.get("group_a", "a_key1")
print "---group_b组的b_key1值为(取整数类型):", conf.getint("group_b", "b_key1")
def writeConfigFile():
"""
根据分组名、键名修改为新键值
@param sections: section分组名
@param key: 分组中的key
@param newvalue: 需要修改后的键值
"""
conf.set("group_b", "b_key3", "new3") #指定section和option则更新value
conf.set("group_b", "b_key5", "value5") #指定section,则增加option和value
conf.add_section("group_d") #添加section组
conf.set("group_d", "d_key1", "value1") #给添加的section组增加option-value
#写回配置文件
conf.write(open(iniFileUrl, "wb"))
readConfigFile()
writeConfigFile()
'''
运行结果:
---conf.ini文件中的section内容有: ['group_a', 'group_b', 'group_c']
---group_a的所有键为: ['a_key1', 'a_key2']
---group_b的所有键为: ['b_key1', 'b_key2', 'b_key3', 'b_key4', 'b_key5']
---group_a的所有键-值为: [('a_key1', '20'), ('a_key2', '10')]
---group_a组的a_key1值为: 20
---group_b组的b_key1值为(取整数类型): 121
'''
附赠conf.ini文件:
[group_a]
a_key1 = 20
a_key2 = 10
[group_b]
b_key1 = 121
b_key2 = b_value2
b_key3 = new3
b_key4 = 127.0.0.1
b_key5 = value5
[group_c]
c_key1 = value1 [group_d]
d_key1 = value1