python读取配置_在Python中自动读取配置值

I would like to read a configuration file in Python completely into a data structure without explicitly 'getting' each value. The reason for doing so is that I intend to modify these values programatically (for instance, I'll have a variable that says I want to modify [Foo] Bar = 1 to be [Foo] Bar = 2), with the intention of writing a new configuration file based on my changes.

At present, I'm reading all the values by hand:

parser = SafeConfigParser()

parser.read(cfgFile)

foo_bar1 = int(parser.get('Foo', 'Bar1'))

foo_bar2 = int(parser.get('Foo', 'Bar2'))

What I would love to have (didn't find much Google-wise) is a method to read them into a list, have them be identified easily so that I can pull that value out of the list and change it.

Essentially referencing it as (or similarly to):

config_values = parser.read(cfgFile)

foo_bar1 = config_values('Foo.bar1')

解决方案import sys

from ConfigParser import SafeConfigParser

parser = SafeConfigParser()

parser.readfp(sys.stdin)

config = dict((section, dict((option, parser.get(section, option))

for option in parser.options(section)))

for section in parser.sections())

print config

Input

[a]

b = 1

c = 2

[d]

e = 3

{'a': {'c': '2', 'b': '1'}, 'd': {'e': '3'}}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值