超详细:Python读取配置文件 ConfigParser读取ini

1.读取

"""
[testini]
inf1="配置一"
inf2="配置二"
status=True
[test2]
config=111
conf=222
"""
首先进行实例化
cf = configparser.ConfigParser()
file = cf.read("test.ini", encoding="utf-8")

2.方法概览

"""
-read(filename)              直接读取文件内容
-sections()                  得到所有的section,并以列表的形式返回
-options(section)            得到该section的所有option
-items(section)              得到该section的所有键值对
-get(section,option)         得到section中option的值,返回为string类型
-getint(section,option)      得到section中option的值,返回为int类型,
						     还有相应的getboolean()和getfloat() 函数。

-write(fp)                              将config对象写入至某个 .ini 格式的文件  
-add_section(section)                   添加一个新的section
-set( section, option, value   对section中的option进行设置,需要调用write将内容写入配置文件
-remove_section(section)                删除某个 section
-remove_option(section, option)         删除某个 section 下的 option
"""

3.1 sections() 得到所有的section,返回列表

sections() 得到所有的section,返回列表
sec = cf.sections()
print(sec)
-->['testini', 'test2']

3.2 得到section下的所有option

得到section下的所有option
opt = cf.options("testini")
print(opt)
-->['inf1', 'inf2', 'status']

3.3 items 得到section的所有键值对

items 得到section的所有键值对
value = cf.items("testini")

dict(value)转换成字典类型

dic = dict(value)
print(value)
print(dic)
-->
[('inf1', '"配置一"'), ('inf2', '"配置二"'), ('status', 'True')]
{'inf1': '"配置一"', 'inf2': '"配置二"', 'status': 'True'}

3.4 读取布尔值

读取布尔值
status = cf.getboolean('testini', 'status')
print(status)

3.5 得到section中的option值,返回string/int类型的结果

get(section,option) 得到section中的option值,返回string/int类型的结果
cur_inf = cf.get("testini", "inf1")
cur_inf2 = cf.getint("test2", "conf")
print(cur_inf, cur_inf2)
-->"配置一" 222

3.6 删除键值对,同样的还设有remove_section(section)

删除键值对,同样的还设有remove_section(section)
# cf.remove_section('testini')
cf.remove_option('testini', 'status')

3.7上面都是在内存小打小闹,要写到文件才生效


此时的配置保存在内存中,需要写入文件方可生效
with open("test.ini", "w+") as f:
    cf.write(f)

3.例外,没有键值对

# 如果ini里面没有键值对
"""
[testini]
192.168.0.1
192.168.0.2
192.168.0.3
[test2]
10.15.1.0
10.15.1.2
"""
此时再调用ConfigParser读取便会报出如下错误:
-->ConfigParser.ParsingError: File contains parsing errors: test.ini

import ConfigParser

config = configparser.ConfigParser(allow_no_value=True)
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值