python 如何读取config.ini中的配置信息-Python中使用ConfigParser解析ini配置文件实例...

ini文件是windows中经常使用的配置文件,主要的格式为:

[Section1]

option1 : value1

option2 : value2

python提供了一个简单的模块ConfigParser可以用来解析类似这种形式的文件。对于ConfigParser模块可以解析key:value和key=value这样的类型,对于#和;开头的行将会自动忽视掉。相当于注释行。常用的函数:

ConfigParser.RawConfigParser()

RawConfigParser Object的操作有:

.sections() : 返回所有可用的section

.addsection(sectionname) :添加section

.set(sectionname, optionname, optionvalue): 添加option

.hassection(sectionname) :判断

.options(sectionname) : 返回section下可用的option

.hasoption(sectionname, optionname) : 判断

.read(filename) : 读取文件

.wrie(filename) : 将RawConfigParser对象写到文件中

.get(sectionname, optionname) : 获取值, 默认的是返回string类型

.getfloat, .getint, .getboolean : 获取不同类型的返回值,参数和get的参数一样

.items(sectionname) :列出section下的所有key:value

.remove(sectionname) :删除section

.remove(sectionname, option_name) : 删除section下的某个option

Demo -- 生成文件

$ cat ini_demo.py

# -*- coding:utf-8 -*-

import ConfigParser

def gen_ini():

ftest = open("test","w")

config_write = ConfigParser.RawConfigParser()

config_write.add_section("Section_a")

config_write.add_section("Section_b")

config_write.add_section("Section_c")

config_write.set("Section_a","option_a1","apple_a1")

config_write.set("Section_a","option_a2","banana_a2")

config_write.set("Section_b","option_b1","apple_b1")

config_write.set("Section_b","option_b2","banana_b2")

config_write.set("Section_c","option_c1","apple_c1")

config_write.set("Section_c","option_c2","banana_c2")

config_write.write(ftest)

ftest.close()

if __name__ == "__main__":

gen_ini()

最后生成的文件为:

$ cat test

[Section_a]

option_a1 = apple_a1

option_a2 = banana_a2

[Section_c]

option_c2 = banana_c2

option_c1 = apple_c1

[Section_b]

option_b1 = apple_b1

option_b2 = banana_b2

Demo -- 读取文件

def read_ini():

config_read = ConfigParser.RawConfigParser()

config_read.read("test")

print config_read.sections()

print config_read.items("Section_a")

print config_read.get("Section_a","option_a1")

最后的结果为:

["Section_a", "Section_c", "Section_b"]

[("option_a2", "banana_a2"), ("option_a1", "apple_a1")]

apple_a1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值